def loadResources(self): print('Importing resources...') cnt = 0 starttime = time() Resource.rebuildHierarchy(database=self.database) self.cursor.execute(''' SELECT name, description, maximum, maximum_calendar_id, location_id, type, cost, maxearly, setup, setupmatrix_id, category, subcategory, owner_id, source FROM %s %s ORDER BY lvl ASC, name ''' % (connections[self.cursor.db.alias].ops.quote_name('resource'), self.filter_where) ) for i in self.cursor.fetchall(): cnt += 1 try: if i[5] == "infinite": x = frepple.resource_infinite( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) elif i[5] == "buckets": x = frepple.resource_buckets( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) if i[3]: x.maximum_calendar = frepple.calendar(name=i[3]) if i[7]: x.maxearly = i[7] elif not i[5] or i[5] == "default": x = frepple.resource_default( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) if i[3]: x.maximum_calendar = frepple.calendar(name=i[3]) if i[7]: x.maxearly = i[7].total_seconds() if i[2]: x.maximum = i[2] else: raise ValueError("Resource type '%s' not recognized" % i[5]) if i[4]: x.location = frepple.location(name=i[4]) if i[6]: x.cost = i[6] if i[8]: x.setup = i[8] if i[9]: x.setupmatrix = frepple.setupmatrix(name=i[9]) if i[12]: x.owner = frepple.resource(name=i[12]) except Exception as e: print("Error:", e) print('Loaded %d resources in %.2f seconds' % (cnt, time() - starttime))
def loadResources(self): print('Importing resources...') cnt = 0 starttime = time() Resource.rebuildHierarchy(database=self.database) self.cursor.execute(''' SELECT name, description, maximum, maximum_calendar_id, location_id, type, cost, maxearly, setup, setupmatrix_id, category, subcategory, owner_id, source FROM %s %s ORDER BY lvl ASC, name ''' % (connections[self.cursor.db.alias].ops.quote_name('resource'), self.filter_where) ) for i in self.cursor.fetchall(): cnt += 1 try: if i[5] == "infinite": x = frepple.resource_infinite( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) elif i[5] == "buckets": x = frepple.resource_buckets( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) if i[3]: x.maximum_calendar = frepple.calendar(name=i[3]) if i[7]: x.maxearly = i[7] elif not i[5] or i[5] == "default": x = frepple.resource_default( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) if i[3]: x.maximum_calendar = frepple.calendar(name=i[3]) if i[7]: x.maxearly = i[7] if i[2]: x.maximum = i[2] else: raise ValueError("Resource type '%s' not recognized" % i[5]) if i[4]: x.location = frepple.location(name=i[4]) if i[6]: x.cost = i[6] if i[8]: x.setup = i[8] if i[9]: x.setupmatrix = frepple.setupmatrix(name=i[9]) if i[12]: x.owner = frepple.resource(name=i[12]) except Exception as e: print("Error:", e) print('Loaded %d resources in %.2f seconds' % (cnt, time() - starttime))
def run(cls, database=DEFAULT_DB_ALIAS, **kwargs): import frepple if cls.filter: filter_and = "and %s " % cls.filter filter_where = "where %s " % cls.filter else: filter_and = "" filter_where = "" with connections[database].chunked_cursor() as cursor: cnt = 0 starttime = time() Resource.rebuildHierarchy(database=database) cursor.execute(''' SELECT name, description, maximum, maximum_calendar_id, location_id, type, cost, maxearly, setup, setupmatrix_id, category, subcategory, owner_id, source, available_id FROM %s %s ORDER BY lvl ASC, name ''' % (connections[cursor.db.alias].ops.quote_name('resource'), filter_where) ) for i in cursor: cnt += 1 try: if i[5] == "infinite": x = frepple.resource_infinite( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) elif i[5] == "buckets": x = frepple.resource_buckets( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) if i[3]: x.maximum_calendar = frepple.calendar(name=i[3]) if i[7] is not None: x.maxearly = i[7] elif not i[5] or i[5] == "default": x = frepple.resource_default( name=i[0], description=i[1], category=i[10], subcategory=i[11], source=i[13] ) if i[3]: x.maximum_calendar = frepple.calendar(name=i[3]) if i[7] is not None: x.maxearly = i[7].total_seconds() if i[2] is not None: x.maximum = i[2] else: raise ValueError("Resource type '%s' not recognized" % i[5]) if i[4]: x.location = frepple.location(name=i[4]) if i[6]: x.cost = i[6] if i[8]: x.setup = i[8] if i[9]: x.setupmatrix = frepple.setupmatrix(name=i[9]) if i[12]: x.owner = frepple.resource(name=i[12]) if i[14]: x.available = frepple.calendar(name=i[14]) except Exception as e: logger.error("**** %s ****" % e) logger.info('Loaded %d resources in %.2f seconds' % (cnt, time() - starttime))