def handle(self, *args, **kwargs): services = [ ('查经', 'Bible Study', '创世纪1', '2020-07-20'), ('查经', 'Bible Study', '创世纪2', '2020-07-25'), ('查经', 'Bible Study', '创世纪3', '2020-07-31'), ('敬拜', 'Worship', '新心音乐', '2020-07-20'), ('敬拜', 'Worship', '赞美之泉', '2020-07-25'), ('敬拜', 'Worship', 'Hillsong', '2020-07-31'), ('饭食', 'Food pickup', 'First Chinese', '2020-07-20'), ('饭食', 'Food pickup', 'Panda Express', '2020-07-25'), ('饭食', 'Food pickup', 'Chickfila', '2020-07-31'), ] kcat, kds, kdt, knt = kwargs.get('category'), kwargs.get( 'description'), kwargs.get('date'), kwargs.get('note') # Create several services if not kcat and not kds and not kdt and not knt: for ser in services: cat = Category.objects.filter(name=ser[0]).first() if not cat: # Create the category cat = Category(name=ser[0]) cat.save() s = Service( description=ser[1], note=ser[2], service_date=str2date(ser[-1]), ) s.save() s.categories.add(cat) # todo: create services of the week self.stdout.write('Service records are saved successfully.') else: # Create a service cat = Category.objects.filter(name=kwargs.get('category')).first() if not cat: cat = Category(name=kwargs.get('category')) cat.save() sr = Service(service_date=str2date(kwargs.get('date')), description=kwargs.get('description'), note=kwargs.get('note')) sr.save() sr.categories.add(cat) self.stdout.write('Service record is saved successfully.')
def newCategory(): if request.method == 'GET': return render_template('new_category.html') elif request.method == 'POST': try: if request.form['name']: newCategory = Category(name=request.form['name'], user_id=current_user.id) db.session.add(newCategory) db.session.commit() flash({ "message": "Category successfully added!", "role": "success" }) else: flash({ "message": "Category name cannot be empty!", "role": "failure" }) return redirect(url_for('main.showHome')) except exc.SQLAlchemyError as e: flash({ "message": "Something went wrong while processing your request.", "role": "failure" }) return redirect('/')
def newCategory(): """ Create new category """ # user must be authenticated if 'user_id' not in session: return redirect('/login') form = CategoryForm() if form.validate_on_submit(): # check that name != 'new', which is used for routing if form.name.data.lower() == 'new': form.name.errors.append("'new' is a reserved word, and cannot" " be used as a category name.") return render_template('new_category.html', form=form) category = Category(name=form.name.data, user_id=session['user_id']) db_session.add(category) try: db_session.commit() except exc.IntegrityError: # category name should be unique db_session.rollback() form.name.errors.append("Category already exists.") return render_template('new_category.html', form=form) flash("Created new category %s." % category.name) return redirect(url_for('catalog')) return render_template('new_category.html', form=form)
def seed_db(): user1 = User(name='user1', email='*****@*****.**') user2 = User(name='user2', email='*****@*****.**') db.session.add(user1) db.session.add(user2) db.session.commit() categories_data = [ {'name': 'Football'}, {'name': 'Tennis'}, ] for categories in categories_data: new_category = Category(name=categories['name']) db.session.add(new_category) db.session.commit() items_data = [ {'name': 'Ball', 'description': 'Football', 'category_id': 1}, {'name': 'Net', 'description': 'Football', 'category_id': 1}, {'name': 'Racket', 'description': 'Tennis', 'category_id': 2}, {'name': 'Tennis ball', 'description': 'Football', 'category_id': 2}, ] for index, item in enumerate(items_data): new_item = Item(name=item['name'], description=item['description'], category_id=item['category_id'], user_id=(index % 2 + 1)) db.session.add(new_item) db.session.commit()
def test_category_categoryname_model(): gongfu = Brewing( temperature=99, weight=5, initial=timedelta(seconds=10), increments=timedelta(seconds=3), ) gongfu.save() western = Brewing( temperature=85, weight=0.8, initial=timedelta(seconds=180), increments=timedelta(seconds=30), ) western.save() category = Category(name="OOLONG", gongfu_brewing=gongfu, western_brewing=western) category.save() assert category.name == "OOLONG" assert str(category.gongfu_brewing) == "5g 99°c 10s +3s" assert type(category.western_brewing) == Brewing categoryname = CategoryName(category=category, name="blue") categoryname.save() assert categoryname.name == "blue"
def new_category(name): """ new_category creates a new Category object given the name """ category = Category() category.name = name return category
def seed(): """Create some default categories""" # Seed some default categories categories = [ { 'name': 'Backend' }, { 'name': 'Frontend' }, { 'name': 'DevOps' }, { 'name': 'QA' }, { 'name': 'Data Science' }, { 'name': 'BlockChain' }, ] for category in categories: new_category = Category(name=category['name']) db.session.add(new_category) db.session.commit()
def test_create_category(self): nbr_of_category_before_add = Category.objects.count() new_category = Category() new_category.name = "Moins de gras" new_category.save() nbr_of_category_after_add = Category.objects.count() self.assertTrue(nbr_of_category_after_add == nbr_of_category_before_add + 1)
def test_valid_subcategory_serializer(client): user = CustomUser(email="*****@*****.**") user.save() category = Category(name="OOLONG") category.save() valid_serializer_data = { "user": user, "name": "test", "category": category.id } serializer = SubcategorySerializer(data=valid_serializer_data) assert serializer.is_valid() assert type(serializer.validated_data["category"]) == Category assert serializer.errors == {}
def handle(self, *args, **options): print 'Start loading categories' Category.objects.all().delete() SubCategory.objects.all().delete() categories = self.parse() for i in categories: c = Category(name=i['name']) c.save() for j in i['sub_cat']: s = SubCategory(name=j['name'], parent_category=c) s.save() for h in j['sub']: _s = SubSubCategory(name=h, parent_sub_category=s) _s.save() print 'Process ... %s' % s.name
def test_user_can_create_and_view_vendor(client, token): category = Category(name="OOLONG") category.save() resp = client.post( "/api/vendor/", {"name": "Test", "website": "https://www.stilltest.com", "popularity": 7}, content_type="application/json", HTTP_AUTHORIZATION=f"Bearer {token}", ) assert resp.status_code == 201 resp = client.get("/api/vendor/", HTTP_AUTHORIZATION=f"Bearer {token}") assert resp.status_code == 200 assert resp.data[0]["user"] assert resp.data[0]["name"] == "Test" assert resp.data[0]["website"] == "https://www.stilltest.com" assert resp.data[0]["popularity"] == 7
def test_user_can_create_and_view_subcategory(client, token): category = Category(name="OOLONG") category.save() resp = client.post( "/api/subcategory/", {"name": "Test", "translated_name": "Still test", "category": category.id}, content_type="application/json", HTTP_AUTHORIZATION=f"Bearer {token}", ) assert resp.status_code == 201 resp = client.get("/api/subcategory/", HTTP_AUTHORIZATION=f"Bearer {token}") assert resp.status_code == 200 assert resp.data[0]["user"] assert resp.data[0]["name"] == "Test" assert resp.data[0]["translated_name"] == "Still test" assert resp.data[0]["category"] == category.id
def handle(self, *args, **options): print('Loading category') Category.objects.all().delete() Journal.objects.all().delete() names = ['ЖЕНСКИЕ', 'МУЖСКИЕ', 'ДЕТСКИЕ', 'ДОМ И СЕМЬЯ'] cntc = 0 for name in names: cntc += 1 c = Category() c.name = name c.save() print('Saving %s' % name) journal_list = ['Наука и техника', 'Здоровье', 'Моделист-конструктор', 'Лиза', 'Прибой', 'Забой', 'Внуки и правнуки', 'В мире муравья'] cnt = 0 for jname in journal_list: cnt += 1 j = Journal() j.name = jname+" "+str(cnt)+str(cntc) j.is_public = True j.show_in_books = True j.is_popular = True j.save() j.category.add(c) path = os.path.join(settings.BASE_DIR,'init_data','journal',f'{cnt}.jpg') with open(path, 'rb') as doc_file: j.default_cover.save(f'{cnt}.jpeg', File(doc_file), save=True) for ni in range(1,20): name = f'выпуск {ni}' i = Issue() i.name = name i.is_public = True i.journal = j i.save() for pi in range(1,10): p = IssuePage() p.paper = i p.page = pi p.save() path = os.path.join(settings.BASE_DIR,'init_data','journal',f'{pi}.jpg') with open(path, 'rb') as doc_file: p.file_low.save(f'{pi}.jpeg', File(doc_file), save=True) p.file_middle.save(f'{pi}.jpeg', File(doc_file), save=True) p.file_high.save(f'{pi}.jpeg', File(doc_file), save=True)
def test_tea_nested_serializers_create_update(client, token): category = Category(name="OOLONG") category.save() resp_vendor = client.post( "/api/vendor/", { "name": "Test vendor", "website": "https://www.stilltest.com", "popularity": 7, }, content_type="application/json", HTTP_AUTHORIZATION=f"Bearer {token}", ) assert resp_vendor.status_code == 201 resp_post = client.post( "/api/tea/", { "name": "Test tea", "subcategory": {"name": "Test subcategory", "category": category.id}, "vendor": {"name": "Test vendor"}, }, content_type="application/json", HTTP_AUTHORIZATION=f"Bearer {token}", ) assert resp_post.status_code == 201 assert resp_post.data["name"] == "Test tea" assert resp_post.data["subcategory"]["name"] == "Test subcategory" assert resp_post.data["vendor"]["name"] == "Test vendor" assert resp_post.data["vendor"]["id"] == resp_vendor.data["id"] _id = resp_post.data["id"] resp_put = client.put( f"/api/tea/{_id}/", { "name": "Updated tea", "subcategory": {"name": "Updated subcategory", "category": category.id}, "vendor": {"name": "Test vendor"}, }, content_type="application/json", HTTP_AUTHORIZATION=f"Bearer {token}", ) assert resp_put.status_code == 200 assert resp_put.data["name"] == "Updated tea" assert resp_put.data["subcategory"]["name"] == "Updated subcategory" assert resp_put.data["subcategory"]["id"] != resp_post.data["subcategory"]["id"] assert resp_put.data["vendor"]["name"] == "Test vendor" assert resp_put.data["vendor"]["id"] == resp_post.data["vendor"]["id"]
def test_subcategory_subcategoryname_model(): user = CustomUser(email="*****@*****.**") user.save() category = Category(name="OOLONG") category.save() origin = Origin(country="Germany", region="Yunnan", locality="Paris", user=user) origin.save() gongfu = Brewing( temperature=99, weight=5, initial=timedelta(seconds=10), increments=timedelta(seconds=3), ) gongfu.save() western = Brewing( temperature=85, weight=0.8, initial=timedelta(seconds=180), increments=timedelta(seconds=30), ) western.save() subcategory = Subcategory( category=category, name="Da Hong Pao", translated_name="Big Red Robe", origin=origin, user=user, gongfu_brewing=gongfu, western_brewing=western, ) subcategory.save() assert not subcategory.is_public assert subcategory.name == "Da Hong Pao" assert subcategory.category.name == "OOLONG" assert subcategory.translated_name == "Big Red Robe" assert subcategory.origin.locality == "Paris" assert subcategory.gongfu_brewing.temperature == 99 assert subcategory.western_brewing.weight == 0.8 assert str(subcategory) == "Da Hong Pao (Big Red Robe)" subcategoryname = SubcategoryName(subcategory=subcategory, name="dhp") subcategoryname.save() assert subcategoryname.name == "dhp"
def category_create(): """ This creates a new category only if the user is logged in """ if not logged_in(): flash('Please log in to create categories') return redirect(url_for('category_list')) form = CategoryForm() if form.validate_on_submit(): category = Category() category.title = form.title.data user = get_current_user() category.ctlg_user = user db.session.add(category) db.session.commit() return redirect(url_for('category_list')) return render_template('category_create.html', form=form)
def handle(self, *args, **options): print 'Start loading categories' Category.objects.all().delete() SubCategory.objects.all().delete() categories = json.load( open(os.path.join(BASE_DIR, 'data', 'categories.json')))['result'] for i in categories: c = Category(name=i['name']) c.save() for j in i['sub_cat']: s = SubCategory(name=j['name'], parent_category=c) s.save() for h in j['sub']: _s = SubSubCategory(name=h, parent_sub_category=s) _s.save() print 'Process ... %s' % s.name cache.delete('categories')
def edit(item_id): item = Item.query.filter_by(id=item_id).first_or_404() form = ItemForm(obj=item) print(form) if form.validate_on_submit(): form.populate_obj(item) print(form.validate_on_submit()) if form.new_category.data: new_category = Category(form.new_category.data) db.session.add(new_category) db.session.flush() post.category = new_category db.session.commit() return redirect(url_for('article', slug=item.slug)) return render_template('catalog/items.html', form=form, item=item, action="edit")
def new_category(): """ Function to create a new category. """ set_redirect_url() user = get_user() if not user: return redirect(url_for('login')) if request.method == 'POST': category = Category(name=request.form['name'], user_id=login_session['user_id']) db_session.add(category) db_session.commit() flash('New Category {} Successfully Created!'.format(category.name)) return redirect(url_for('index')) else: return render_template('new_category.html', user=user)
def test_brewing_session_model(): user = CustomUser(email="*****@*****.**") user.save() category = Category(name="OOLONG") category.save() tea = Tea(user=user, name="Da Hong Pao") tea.save() brewing = Brewing( temperature=99, weight=5, initial=timedelta(seconds=10), increments=timedelta(seconds=3), ) brewing.save() session = BrewingSession(user=user, tea=tea, brewing=brewing) session.save() assert session.user.email == "*****@*****.**" assert session.tea.name == "Da Hong Pao" assert session.brewing.temperature == 99 assert session.current_infusion == 1 assert not session.is_completed assert session.created_on
def handle(self, *fixture_labels, **options): if len(fixture_labels) > 0: path = fixture_labels[0] if not os.path.exists(path): print 'Path does not exist:', path return fields = fields_for_model(Category) reader = csv.reader(open(path), delimiter=";") self.header = reader.next() columns = list(set(fields.keys()) & set(self.header)) if 'id' in self.header: key = 'id' elif 'slug' in self.header: key = 'slug' else: raise ValueError( 'Either id or slug column must be present in csv data.') for row in reader: pk = self.get_value(key, row) q = {key: pk} data = dict([(c, getattr(self, 'resolve_' + c, self.get_value)(c, row)) for c in columns]) cat = None if Category.objects.filter(**q).count() > 0: Category.objects.filter(**q).update(**data) cat = Category.objects.get(**q) else: if key not in data: data[key] = pk cat = Category(**data) if cat: cat.save()
def items(): form = ItemForm() if form.validate_on_submit(): if form.new_category.data: new_category = Category(form.new_category.data) db.session.add(new_category) db.session.flush() category = new_category elif form.category.data: category_id = form.category.get_pk(form.category.data) category = Category.query.filter_by(id=category_id).first() else: category = None catalog = Catalog.query.first() author = Author.query.filter_by(username=session['username']).first() title = form.title.data description = form.description.data slug = slugify(title) item = Item(catalog, author, title, description, category, slug) db.session.add(item) db.session.commit() return redirect(url_for('article', slug=slug)) return render_template('catalog/items.html', form=form, action="new")
def add_item(category, item): item.category_id = category.id db.add(item) db.commit() user = User(name="Peter Pan", email="*****@*****.**", picture="https://placehold.it/300x300.png?text=Peter+Pan") db.add(user) db.commit() category1 = Category(name="Books") db.add(category1) category2 = Category(name="Electronics") db.add(category2) category3 = Category(name="Food") db.add(category3) category4 = Category(name="Miscellaneous") db.add(category4) db.commit() add_item( category1,
def initdb(): from catalog.models import User, Category, Course user1 = User(name='Seunghun Lee', email='*****@*****.**') db.session.add(user1) db.session.commit() categories = [ 'Programming Language', 'Math', 'Physics', 'Deep Learning', ] # Add Categories for category_name in categories: new_category = Category(name=category_name, user_id=1) db.session.add(new_category) db.session.flush() course = Course(name='Programming Foundations with Python', level='Beginner', url='https://www.udacity.com/course/programming-foundations-with-python--ud036', image_url='https://s3-us-west-1.amazonaws.com/udacity-content/course/images/ud036-0619766.jpg', description='Learn Object-Oriented Programming', provider='Udacity', category_id=1, user_id=1) db.session.add(course) course = Course(name='Linear Algebra Refresher Course', level='Intermediate', url='https://www.udacity.com/course/linear-algebra-refresher-course--ud953', image_url='https://s3-us-west-1.amazonaws.com/udacity-content/course/images/ud953-d95e68e.jpg', description='A Brief Refresher (with Python!)', provider='Udacity', category_id=2, user_id=1) db.session.add(course) course = Course(name='Intro to Physics', level='Beginner', url='https://www.udacity.com/course/intro-to-physics--ph100', image_url='https://lh6.ggpht.com/9xDuLEr_4CuXcBZVbMQPagaUOvdUOH_T8V4I9Nm9XvDogvR4_yudI60v5_0tWedKx2LInYQiV6KOGqNPXuo=s0#w=436&h=268', description='Landmarks in Physics', provider='Udacity', category_id=3, user_id=1) db.session.add(course) course = Course(name='Deep Learning', level='Advanced', url='https://www.udacity.com/course/deep-learning--ud730', image_url='https://s3-us-west-1.amazonaws.com/udacity-content/course/images/ud730-b3af4bf.jpg', description='Take machine learning to the next level', provider='Udacity', category_id=4, user_id=1) db.session.add(course) db.session.commit() for course in db.session.query(Course).all(): print course.id, course.name, 'in', course.category.name
def setUp(self): new_category = Category() new_category.name = "Moins de gras" new_category.save()
def add_model(request,model,template_name=""): # show_model(request,model,template_name) # print(); result = ""; if request.method == 'POST': print('add') if request.POST.get('mode')=='add_cart_item': cart.add_to_cart(request) cart_items_list = [] cart_items = cart.get_cart_items(request) # serializers.serialize("json", ) cart_item_count = cart.cart_distinct_item_count(request) # result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count} # print(cart_item_count) for c in cart_items: # print(c) item = {} item.setdefault('image',c.image()) item.setdefault('name',c.name()) item.setdefault('quantity',c.quantity) price = str(c.price()) item.setdefault('unit_price',price) total = str(c.total()) item.setdefault('total_price',total) item.setdefault('id',c.id) # print(item) cart_items_list.append(item) # print(cart_items_list) # cart_items = serializers.serialize("json", cart_items_list) # print(cart_items) result = {'cart_items' : cart_items_list ,'cart_item_count' : cart_item_count} # print(json.dumps(result)) print('++++++++++++++++++++++++++++++') return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8') else: if model == 'people': name = request.POST.get('name') islug = slug(name) category = Category() category.name = name category.description = request.POST.get('description') is_active = request.POST.get('is_active') if is_active=="on": category.is_active = True else: category.is_active = False category.slug = islug category.updated_at = datetime.datetime.now().strftime("%m/%d/%Y") category.created_at = datetime.datetime.now().strftime("%m/%d/%Y") category.save() result = "saved" print('add people') elif model == 'subcategory': subcategory = SubCategory() subcategory.name = request.POST.get('name') subcategory.description = request.POST.get('description') subcategory.slug = slug(subcategory.name) is_active = request.POST.get('is_active') subcategory.updated_at = datetime.datetime.now().strftime("%m/%d/%Y") subcategory.created_at = datetime.datetime.now().strftime("%m/%d/%Y") if is_active=="on": subcategory.is_active = True else: subcategory.is_active = False subcategory.save() selected_c = json.loads(request.POST.get('selected_categories')) for s_c in selected_c: c = get_object_or_404(Category, slug=s_c) subcategory.categories.add(c) subcategory.save() print('add subcategory') elif model == 'product': p = Product() postdata = request.POST.copy() p.name = postdata.get('name','a') product_name = postdata.get('name','a') p.brand = postdata.get('brand') p.sku = postdata.get('sku') p.price = postdata.get('price') p.old_price = postdata.get('old_price') p.quantity = postdata.get('quantity') p.description = postdata.get('description') # print(postdata.get('user')) user = get_object_or_404(MyUser, username=postdata.get('user')) p.user = user p.slug = slug(p.name) is_active = request.POST.get('is_active') if is_active=="on": p.is_active = True else: p.is_active = False p.updated_at = datetime.datetime.now().strftime("%m/%d/%Y") p.created_at = datetime.datetime.now().strftime("%m/%d/%Y") if request.FILES: print('image_exist') p_main_file=request.FILES['img'] file_extention = os.path.splitext(str(request.FILES['img']))[1] # print(file_extention) # file_name = str(request.FILES['img']).split('.') # file_extention = file_name[len(file_name)-1] image_name = str(user)+'_'+p.name+file_extention p_thumbnail_file=request.FILES['img'] with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'wb+') as destination: if p_thumbnail_file.multiple_chunks(): for chunk in p_thumbnail_file.chunks(): destination.write(chunk) else: destination.write(p_thumbnail_file.read()) with open(MEDIA_ROOT+'images/products/thumbnails/'+image_name, 'rb+') as destination: image_file = destination.read() with open(MEDIA_ROOT+'images/products/main/'+image_name, 'wb+') as destination: destination.write(image_file) p.image=image_name else: print('image_empty') p.image='default' p.save() selected_subc = json.loads(request.POST.get('selected_subcategories')) for p_subc in selected_subc: subc = get_object_or_404(SubCategory, slug=p_subc) p.subcategories.add(subc) p.save() print('add product') elif model == 'myuser': user = MyUser() postdata = request.POST.copy() user.username = postdata.get('name') user.first_name = postdata.get('first_name') user.last_name = postdata.get('last_name') ##########change date format###########YYYY-MM-DD # date_of_birth = postdata.get('date_of_birth') # date_list = date_of_birth.split('/') # join_str = '-' # user.date_of_birth = join_str.join(date_list) user.date_of_birth = postdata.get('date_of_birth') ######################################## user.address = postdata.get('address','a') user.telephone = postdata.get('telephone') user.password = make_password(postdata.get('password')) user.is_active = True user.is_staff = True user.save() print('add myuser') elif model == 'order': order = Order() postdata = request.POST.copy() myuser = get_object_or_404(MyUser, username=postdata.get('user')) print(postdata) order.address = myuser.address order.phone = myuser.telephone order_status = get_object_or_404(OrderStatus, id=postdata.get('status')) print(order_status.name) order.status = order_status order.ip_address = postdata.get('ip_address') # user = get_object_or_404(MyUser, username=postdata.get('user')) order.user = myuser order.transaction_id = postdata.get('transaction_id') order.last_updated = datetime.datetime.now().strftime("%m/%d/%Y") order.save() print(order.id); cart_items = cart.get_cart_items(request) for c in cart_items: orderitem = OrderItem() orderitem.product = c.product orderitem.price = c.price() orderitem.quantity = c.quantity orderitem.order = order orderitem.save() print('add order') elif model == 'orderitem': orderitem = OrderItem() postdata = request.POST.copy() product = get_object_or_404(Product, slug=postdata.get('product')) orderitem.product = product orderitem.price = product.price orderitem.quantity = postdata.get('quantity') order = get_object_or_404(Order, id=postdata.get('order')) orderitem.order = order orderitem.save() print('add orderitem') # return show_model(request,model,'') url = urlresolvers.reverse('model',kwargs = {'model':model}) return HttpResponseRedirect(url) else: app_list = permission_app(request) # print('_________________addpermission_________________') if check_permission(request,'add',model): if model == 'people': print('category') elif model == 'subcategory': category = Category.objects.all() print('subcategory') elif model == 'product': user_list = MyUser.objects.all() subcategory = SubCategory.objects.all() print('product') print(subcategory) elif model == 'myuser': print('myuser') elif model == 'order': cart.clean(request) user_list = MyUser.objects.all() product = Product.objects.all() order_status = OrderStatus.objects.all() # print(request.GET) # print('-------------------------------') # cart.add_to_cart(request) # cart_items = serializers.serialize("json", cart.get_cart_items(request)) # cart_item_count = cart.cart_distinct_item_count(request) # result = {'cart_items' : cart_items ,'cart_item_count' : cart_item_count} # print(result) # print('++++++++++++++++++++++++++++++=') # return HttpResponse(json.dumps(result),content_type='application/javascript; charset=utf-8') print('order') elif model == 'orderitem': product = Product.objects.all() order_list = Order.objects.all() print('orderitem') # subcategories = SubCategory.objects.all() template_name = 'myadmin/add/'+model+'.html' return render_to_response(template_name, locals(),context_instance=RequestContext(request)) else: template_name = 'myadmin/err.html' return render_to_response(template_name, locals(),context_instance=RequestContext(request))
def handle(self, *args, **options): parser = ElementTree.XMLParser(encoding="utf-8") productinorder = ProductInOrder.objects.all() productinorder.delete() productinbasket = ProductInBasket.objects.all() productinbasket.delete() product = Product.objects.all() product.delete() category = Category.objects.all() category.delete() manufacturer = Manufacturer.objects.all() manufacturer.delete() trans = str.maketrans( "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", "abvgdeejzijklmnoprstufhzcss_y_euaABVGDEEJZIJKLMNOPRSTUFHZCSS_Y_EUA" ) tree = ElementTree.parse("./ImportExport/import.xml", parser=parser) root = tree.getroot() #print(root) for element in root.iter( "{urn:1C.ru:commerceml_210}Группа"): #Наименование категории name = element[1].text category = Category(name=name, id1C=element[0].text, url=slugify(name.translate(trans))) category.save() for element in root.iter("{urn:1C.ru:commerceml_210}Свойство"): #print(element[1].text) for elem in element.iter( "{urn:1C.ru:commerceml_210}Справочник"): #Бренд name = elem[1].text manufact = Manufacturer(name=name, id1C=elem[0].text, slug=slugify(name.translate(trans))) manufact.save() for element in root.iter("{urn:1C.ru:commerceml_210}Товар"): name = element.find("{urn:1C.ru:commerceml_210}Наименование").text category = element.find("{urn:1C.ru:commerceml_210}Группы") category_id = Category.objects.get(id1C=category[0].text) brend = element.find("{urn:1C.ru:commerceml_210}ЗначенияСвойств") if brend is not None: brend_id = Manufacturer.objects.get(id1C=brend[0][1].text) short_description = element.find( "{urn:1C.ru:commerceml_210}Описание").text country = element.find("{urn:1C.ru:commerceml_210}Страна") if country is None: country_text = "" else: country_text = country.text weight = element.find("{urn:1C.ru:commerceml_210}Вес") weight_float = 0 height = 0 width = 0 length = 0 if weight is not None: weight_float = Decimal(weight.text) for val_req in element.iter( "{urn:1C.ru:commerceml_210}ЗначениеРеквизита"): if val_req[0].text == 'Высота': height = Decimal(val_req[1].text) elif val_req[0].text == 'Ширина': width = Decimal(val_req[1].text) elif val_req[0].text == 'Длина': length = Decimal(val_req[1].text) #print(name, int(category_id.id), category_id.name, int(brend_id.id), brend_id.name) product = Product(name=name, id1C=element[0].text, category=category_id, short_description=short_description, country=country_text, weight=weight_float, height=height, width=width, length=length, manufacturer=brend_id, url=slugify(name.translate(trans))) product.save() #print(element[0].text) #print(name) img = 1 is_main = True if element.find("{urn:1C.ru:commerceml_210}Картинка") is not None: for elem in element.iter("{urn:1C.ru:commerceml_210}Картинка"): if elem is not None: #product=Product.objects.get(id1C=element[0].text) name_file = slugify( product.name.translate(trans)) + str(img) + ".jpg" shutil.copy("./ImportExport/" + elem.text, "./product_images/" + name_file) if img != 1: is_main = False prod_img = ProductImage(product=product, image="product_images/" + name_file, is_main=is_main) prod_img.save() img = img + 1 else: prod_img = ProductImage(product=product, image="product_images/no_image.png", is_main=is_main) prod_img.save() tree = ElementTree.parse("./ImportExport/offers.xml") root = tree.getroot() for element in root.iter("{urn:1C.ru:commerceml_210}Предложение"): #rest_float=0 product = Product.objects.get(id1C=element[0].text) for elem in element.iter("{urn:1C.ru:commerceml_210}Цена"): price = elem.find("{urn:1C.ru:commerceml_210}ЦенаЗаЕдиницу") if price is not None: product.price = Decimal(price.text) rest = element.find("{urn:1C.ru:commerceml_210}Количество") if rest is not None: product.rest = Decimal(rest.text) product.save()
item.category_id = category.id db.add(item) db.commit() user = User( name="Yang Yuan", email="*****@*****.**", picture= "http://2.bp.blogspot.com/-S5USSONx5P0/VnEOIKKvJOI/AAAAAAAAsZw/KrKRoPui3Vk/s0-Ic42/000.jpg" ) db.add(user) db.commit() category1 = Category(name="Martial Arts") db.add(category1) category2 = Category(name="Painting Arts") db.add(category2) category3 = Category(name="Music Arts") db.add(category3) category4 = Category(name="Calligraphy") db.add(category4) category5 = Category(name="Strategy Arts(board games)") db.commit()
db.create_all() # Create First User print "Creating User ..." user = User() user.username = "******" user.email = "*****@*****.**" user.gplus_id = '112241070706889739015' user.created = datetime.utcnow() user.modified = datetime.utcnow() db.session.add(user) db.session.commit() print "User - Sophie Reddimalla created ID=" + str(user.id) print "Creating Sample Category Football ..." category = Category() category.title = "Football" category.user_id = user.id category.created = datetime.utcnow() category.modified = datetime.utcnow() db.session.add(category) db.session.commit() print "Category - Football created ID=" + str(category.id) print "Creating Sample Items in Football ..." item = Item() item.category_id = category.id item.title = "Soccer Ball" item.description = "High Quality ,Tournament grade" item.created = datetime.utcnow() item.modified = datetime.utcnow()
engine = create_engine('sqlite:///catalog.db') Base.metadata.bind = engine DBSession = sessionmaker(bind=engine) session = DBSession() # Clear all the tables session.query(Product).delete() session.query(User).delete() session.query(Category).delete() # Define the categories seed_categories = [ Category(name="Atari", slug="atari"), Category(name="Super Nintendo", slug="super-nintendo"), Category(name="Mega Drive", slug="mega-drive"), Category(name="Nintendo 64", slug="nintendo-64"), Category(name="Sega Saturn", slug="sega-saturn"), Category(name="Dreamcast", slug="dreamcast"), Category(name="Playstation", slug="playstation"), Category(name="GameBoy", slug="gameboy"), Category(name="Playstation 2", slug="playstation-2"), Category(name="Xbox 360", slug="xbox-360") ] # Define some dummy users seed_users = [ User( username="******",