def upload(self, project, language, fileobj, method): ''' Handles dictionary update. ''' ret = 0 # Load file using translate-toolkit store = AutoFormat.load(fileobj) # process all units for unit in store.units: # We care only about translated things if not unit.istranslatable() or not unit.istranslated(): continue # Ignore too long words if len(unit.source) > 200 or len(unit.target) > 200: continue # Get object word, created = self.get_or_create( project=project, language=language, source=unit.source ) # Already existing entry found if not created: # Same as current -> ignore if unit.target == word.target: continue if method == 'add': # Add word word = self.create( project=project, language=language, source=unit.source ) elif method != 'overwrite': # No overwriting or adding continue # Store word word.target = unit.target word.save() ret += 1 return ret
def upload(self, project, language, fileobj, method): ''' Handles dictionary update. ''' # Load file using translate-toolkit store = AutoFormat.load(fileobj) ret, skipped = self.import_store(project, language, store, method) if ret == 0 and skipped > 0 and isinstance(store, csvfile): # Retry with different CSV scheme fileobj.seek(0) store = csvfile(fileobj, ('source', 'target')) ret, skipped = self.import_store(project, language, store, method) return ret