def handle(self, *args, **options): try: tmpl = args[0] except: raise CommandError("Usage search_supplier: %s" % (self.args)) if len(args) == 2: try: flt = get_qs_filter_dict_from_str(args[1]) except ValueError: raise CommandError( "Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2..." ) qs = Supplier.objects.filter(**flt) else: qs = Supplier.objects.all() attr_names = get_params_from_template(tmpl) for p in qs: d = get_instance_dict_from_attrs(p, attr_names) print((tmpl % d).encode('UTF-8')) return 0
def handle(self, *args, **options): try: tmpl = args[0] except: raise CommandError("Usage search_gas: %s" % (self.args)) if len(args) == 2: try: flt = get_qs_filter_dict_from_str(args[1]) except ValueError: raise CommandError("Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2...") qs = GAS.objects.filter(**flt) else: qs = GAS.objects.all() attr_names = get_params_from_template(tmpl) for p in qs: d = get_instance_dict_from_attrs(p, attr_names) print((tmpl % d).encode('UTF-8')) return 0
def handle(self, *args, **options): try: tmpl = unicode(args[0]) except: raise CommandError("Usage search_people: %s" % (self.args)) if len(args) == 2: try: flt = get_qs_filter_dict_from_str(args[1]) except ValueError: raise CommandError( "Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2..." ) qs = Person.objects.filter(**flt) else: qs = Person.objects.all() attr_names = get_params_from_template(tmpl) for p in qs: d = get_instance_dict_from_attrs(p, attr_names) for k, v in d.items(): if isinstance(v, QuerySet): qs = [] for el in v: qs.append(el.__unicode__()) d[k] = qs print(tmpl % d).encode('utf-8') return 0
def handle(self, *args, **options): try: tmpl = unicode(args[0]) except: raise CommandError("Usage search_people: %s" % (self.args)) if len(args) == 2: try: flt = get_qs_filter_dict_from_str(args[1]) except ValueError: raise CommandError("Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2...") qs = Person.objects.filter(**flt) else: qs = Person.objects.all() attr_names = get_params_from_template(tmpl) for p in qs: d = get_instance_dict_from_attrs(p, attr_names) for k,v in d.items(): if isinstance(v, QuerySet): qs = [] for el in v: qs.append(el.__unicode__()) d[k] = qs print(tmpl % d).encode('utf-8') return 0
def handle(self, *args, **options): """usage sample: $ python manage.py search_gasmember '%(statistic_name)s' """ try: tmpl = args[0] except: raise CommandError("Usage search_gasmember: %s" % (self.args)) if len(args) == 2: try: flt = get_qs_filter_dict_from_str(args[1]) except ValueError: raise CommandError("Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2...") qs = GASMember.objects.filter(**flt) else: qs = GASMember.objects.all() attr_names = get_params_from_template(tmpl) #for p in qs.order_by('gas__id_in_des','person__surname'): for p in qs.order_by('person__surname'): d = get_instance_dict_from_attrs(p, attr_names) print((tmpl % d).encode('UTF-8')) return 0
def handle(self, *args, **options): """usage sample: $ python manage.py search_gasmember '%(statistic_name)s' """ try: tmpl = args[0] except: raise CommandError("Usage search_gasmember: %s" % (self.args)) if len(args) == 2: try: flt = get_qs_filter_dict_from_str(args[1]) except ValueError: raise CommandError( "Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2..." ) qs = GASMember.objects.filter(**flt) else: qs = GASMember.objects.all() attr_names = get_params_from_template(tmpl) #for p in qs.order_by('gas__id_in_des','person__surname'): for p in qs.order_by('person__surname'): d = get_instance_dict_from_attrs(p, attr_names) print((tmpl % d).encode('UTF-8')) return 0
def _prepare_data(self, csv_filename, delimiter, tmpl): f = file(csv_filename, "rb") csvdata = f.read() f.close() fieldnames = get_params_from_template(tmpl) m = CSVManager(fieldnames=fieldnames, delimiter=delimiter, encoding=ENCODING) data = m.read(csvdata) log.debug(pprint(m.read(csvdata))) return data
def _prepare_data(self, csv_filename, delimiter, tmpl): f = file(csv_filename, "rb") csvdata = f.read() f.close() fieldnames = get_params_from_template(tmpl) m = CSVManager(fieldnames=fieldnames, delimiter=delimiter, encoding=ENCODING) data = m.read(csvdata) log.debug(pprint(m.read(csvdata))) return data
def _write_data(self, csv_filename, delimiter, csvdata, tmpl): print "self.simulate", self.simulate if(self.simulate): log.debug(pprint("SIMULATING write. Content is: %s" % csvdata)) else: log.debug(pprint("WRITING on file %s. Content is: %s" % (csv_filename,csvdata))) f = file(csv_filename, "wb") fieldnames = get_params_from_template(tmpl) m = CSVManager(fieldnames=fieldnames, delimiter=delimiter, encoding=ENCODING) data = m.write(csvdata) #log.debug(pprint(m.read(csvdata))) f.write(data) f.close() return
def handle(self, *args, **options): try: model_name = args[0] tmpl = args[1] except: raise CommandError("Usage print_qs: %s" % (self.args)) try: model = get_model(*model_name.split('.')) except: raise CommandError("No model %s found in app %s" % model_name.split('.')) if len(args) == 3: try: flt = get_qs_filter_dict_from_str(args[2]) except ValueError: raise CommandError( "Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2..." ) qs = model.objects.filter(**flt) else: qs = model.objects.all() attr_names = get_params_from_template(tmpl) for p in qs: d = get_instance_dict_from_attrs(p, attr_names) for k, v in d.items(): if isinstance(v, QuerySet): qs = [] for el in v: qs.append(el.__unicode__()) d[k] = qs print(tmpl % d).encode('utf-8') return 0
def _write_data(self, csv_filename, delimiter, csvdata, tmpl): print "self.simulate", self.simulate if (self.simulate): log.debug(pprint("SIMULATING write. Content is: %s" % csvdata)) else: log.debug( pprint("WRITING on file %s. Content is: %s" % (csv_filename, csvdata))) f = file(csv_filename, "wb") fieldnames = get_params_from_template(tmpl) m = CSVManager(fieldnames=fieldnames, delimiter=delimiter, encoding=ENCODING) data = m.write(csvdata) #log.debug(pprint(m.read(csvdata))) f.write(data) f.close() return
def handle(self, *args, **options): try: model_name = args[0] tmpl = args[1] except: raise CommandError("Usage print_qs: %s" % (self.args)) try: model = get_model(*model_name.split('.')) except: raise CommandError("No model %s found in app %s" % model_name.split('.')) if len(args) == 3: try: flt = get_qs_filter_dict_from_str(args[2]) except ValueError: raise CommandError("Wrong QuerySet filter specified. It has to be in form par1=val1 OR par1=val1,par2,val2...") qs = model.objects.filter(**flt) else: qs = model.objects.all() attr_names = get_params_from_template(tmpl) for p in qs: d = get_instance_dict_from_attrs(p, attr_names) for k,v in d.items(): if isinstance(v, QuerySet): qs = [] for el in v: qs.append(el.__unicode__()) d[k] = qs print(tmpl % d).encode('utf-8') return 0
def handle(self, *args, **options): try: gas_pk = int(args[0]) csv_filename = args[1] except: raise CommandError("Usage import_gasmembers: %s" % (self.args)) if len(args) > 2: delimiter = args[2] else: delimiter = ";" if len(args) == 4: tmpl = args[3] else: tmpl = "%(name)s %(surname)s %(email)s %(city)s" # STEP 0: prepare data in dicts f = file(csv_filename, "rb") csvdata = f.read() f.close() fieldnames = get_params_from_template(tmpl) m = CSVManager(fieldnames=fieldnames, delimiter=delimiter, encoding=ENCODING) data = m.read(csvdata) log.debug(pprint(m.read(csvdata))) # Data prepared g = GAS.objects.get(pk=gas_pk) g.config.auto_populate_products = True g.config.save() # STEP 2: process data and create instances with transaction.commit_on_success(): for d in data: log.info("#### ---- start new user import... ----####") try: user, updated = self._get_or_create_user(d) try: pers = user.person except Person.DoesNotExist: contacts = self._get_or_create_contacts(d) place = self._get_or_create_place(d) pers = self._get_or_create_person(d, contacts, place) pers.user = user pers.save() else: # This is a user of an already created person log.info(("PERSON %s ALREADY EXISTENT" % user.person).decode(ENCODING)) if updated: log.debug("UPDATE PERSON DETAILS") contacts = self._update_contacts(user.person, d) place = self._update_place(user.person, d) pers = self._update_person(user.person, d, contacts, place, force=True) else: log.debug("SKIP IT") except KeyError, e: if e.message not in self.allowed_keys: raise CommandError("Invalid key '%s' provided. Allowed keys in python template are: %s" % (e.message, self.allowed_keys)) else: raise CommandError("Key '%s' is REQUIRED." % e.message) gm, created = GASMember.objects.get_or_create(person=pers, gas=g) gm.save() log.info(("CREATED GASMEMBER %s" % gm).decode(ENCODING))