Compare commits

...

2 Commits

Author SHA1 Message Date
9b03662b17 Merge pull request 'Wif parser, pymongo check' (#1) from wif_parser into main
Reviewed-on: seastorm/treadl#1
2021-12-08 07:32:16 +00:00
Fikó Györgyi
52ac62d634 * Handling wif files with no "color" field in warp & weft sections. Test file: https://www.handweaving.net/draft-detail/62968/threading-draft-from-divisional-profile-tieup-draft-8776-2005-2015
* Fix to avoid pymongo error: "NotImplementedError: Database objects do not implement truth value testing or bool(). Please compare with None instead: database is not None"
2021-12-06 21:10:36 +01:00
2 changed files with 18 additions and 8 deletions

View File

@ -6,6 +6,7 @@ db = None
def get_db():
global db
if not db:
if db is None:
db = MongoClient(os.environ['MONGO_URL'])[os.environ['MONGO_DATABASE']]
return db

View File

@ -129,10 +129,15 @@ def loads(wif_file):
draft['warp'] = {}
draft['warp']['shafts'] = weaving.getint('shafts')
draft['warp']['threading'] = []
draft['warp']['defaultColour'] = draft['colours'][warp.getint('color')-1]
if warp.get('color'):
warp_colour_index = warp.getint('color') - 1
draft['warp']['defaultColour'] = draft['colours'][warp_colour_index]
else:
# In case of no color table or colour index out of bounds
draft['warp']['defaultColour'] = draft['colours'][warp_colour_index] if len(draft['colours']) > warp_colour_index else draft['colours'][0]
draft['warp']['defaultColour'] = draft['colours'][0]
for x in threading:
shaft = threading[x]
@ -155,9 +160,13 @@ def loads(wif_file):
draft['weft'] = {}
draft['weft']['treadles'] = weaving.getint('treadles')
draft['weft']['treadling'] = []
if weft.get('color'):
weft_colour_index = weft.getint('color') - 1
draft['weft']['defaultColour'] = draft['colours'][weft_colour_index]
else:
# In case of no color table or colour index out of bounds
draft['weft']['defaultColour'] = draft['colours'][weft_colour_index] if len(draft['colours']) > weft_colour_index else draft['colours'][1]
draft['weft']['defaultColour'] = draft['colours'][1]
for x in treadling:
shaft = treadling[x]