def seed_deck_cards(): demo = User(username='******', email='*****@*****.**', password='******', classrooms_id=1) demo_classroom = Classroom(name='Demo Classroom', password='******') demo_deck = Deck(name='Demo Deck', subject='Spanish', tags=['vocabulary', 'words'], created_by=1) demo_deck2 = Deck(name='Demo Deck 2', subject='Math', tags=['addition'], created_by=1) demo_card1 = Card(title='What is 2 + 2 = ?', subject='Math', possible_answers=['1', '3', '4', '5'], answer='4', created_by=1) demo_card2 = Card(title='What is 4 + 6 = ?', subject='Math', possible_answers=['5', '10', '4', '6'], answer='10', created_by=1) demo_card3 = Card(title='What is 1 + 3 = ?', subject='Math', possible_answers=['7', '13', '4', '5'], answer='4', created_by=1) demo_card4 = Card(title='What is 6 - 2 = ?', subject='Math', possible_answers=['3', '2', '4', '5'], answer='4', created_by=1) demo_card5 = Card(title='What is 5 + 1 = ?', subject='Math', possible_answers=['6', '15', '4', '5'], answer='6', created_by=1) demo_card6 = Card(title='What is 5 - 4 = ?', subject='Math', possible_answers=['2', '1', '4', '3'], answer='1', created_by=1) demo_card7 = Card(title='What is 1 + 6 = ?', subject='Math', possible_answers=['7', '0', '4', '5'], answer='7', created_by=1) demo_card8 = Card(title='What is 1 + 1 = ?', subject='Math', possible_answers=['3', '0', '2', '1'], answer='2', created_by=1) demo_card9 = Card(title='How do you say "hello"?', subject='Spanish', possible_answers=['hola', 'gato', 'perro', 'loco'], answer='hola', created_by=1) demo_card10 = Card(title='How do you say "no"?', subject='Spanish', possible_answers=['No', 'Nien', 'Non', 'Null'], answer='No', created_by=1) demo_card11 = Card(title='How do you say "Thank You"?', subject='Spanish', possible_answers=['Mas', 'Gracias', 'Gato', 'Loco'], answer='Gracias', created_by=1) demo_card12 = Card( title='How do you say "Good Morning"?', subject='Spanish', possible_answers=['Buenas tardes', 'Buenas noches', 'Buenos días'], answer='Buenos días', created_by=1) demo_card13 = Card( title='How do you say "Good Afternoon"?', subject='Spanish', possible_answers=['Buenas tardes', 'Buenas noches', 'Buenos días'], answer='Buenos tardes', created_by=1) demo_card14 = Card( title='How do you say "Good Evening"?', subject='Spanish', possible_answers=['Buenas tardes', 'Buenas noches', 'Buenos días'], answer='Buenos noches', created_by=1) db.session.add(demo) db.session.add(demo_classroom) db.session.commit() db.session.add(demo_deck) db.session.add(demo_deck2) db.session.add(demo_card1) db.session.add(demo_card2) db.session.add(demo_card3) db.session.commit() demo_classroom.decks.append(demo_deck) demo_deck.cards.append(demo_card9) demo_deck.cards.append(demo_card10) demo_deck.cards.append(demo_card11) demo_deck.cards.append(demo_card12) demo_deck.cards.append(demo_card13) demo_deck.cards.append(demo_card14) demo_deck2.cards.append(demo_card1) demo_deck2.cards.append(demo_card2) demo_deck2.cards.append(demo_card3) demo_deck2.cards.append(demo_card4) demo_deck2.cards.append(demo_card5) demo_deck2.cards.append(demo_card6) demo_deck2.cards.append(demo_card7) demo_deck2.cards.append(demo_card8) db.session.commit()
# --------------------------------- # Imports from app import db from app.models import User, Deck, Card # Creating a user u = User(username='******', email='*****@*****.**') db.session.add(u) db.session.commit() # Testing that the user exists User.query.get(1) # Adding a card to a user u = User.query.get(1) c = Card(front='Hello', back='Talofa', owner=u) db.session.add(c) db.session.commit() # Getting all cards belonging to user u u.cards.all() # Creating a user with a password u = User(username='******', email='*****@*****.**') u.set_password('Passw0rd') db.session.add(u) db.session.commit() # Creating a deck d = Deck(name='Samoan Language', user_id=u.id)
# 既存のデータを削除 session.query(Card).filter(Card.store_id == "magi").delete() session.commit() # Magiのスクレイピング for i in range(1, 10**2): html = requests.get( "https://magi.camp/items/search?forms_search_items%5Bcategory_id%5D=100009&forms_search_items%5Bfrom_price%5D=&forms_search_items%5Bkeyword%5D=&forms_search_items%5Bpage%5D=1&forms_search_items%5Bquality%5D=&forms_search_items%5Bsort%5D=&forms_search_items%5Bstatus%5D=presented&forms_search_items%5Btag_id%5D=&forms_search_items%5Bto_price%5D=&page={}" .format(i)) soup = BeautifulSoup(html.text, 'html.parser') boxs = soup.find_all(class_='item-list__box') if boxs: for box in boxs: card = Card() card.img_url = box.find('img').get('data-src') # 画像URL card.card_name = box.find(class_="item-list__item-name").string card.card_price = int( re.sub( "\\D", "", box.find(class_="item-list__price-box--price").string. split(" ")[-1])) # 値段 card.url = "https://magi.camp" + box.find("a").get('href') # リンク card.sale_id = ("https://magi.camp" + box.find("a").get('href')).split('/')[-1] card.store_id = "magi" # DBにデータを追加 session.add(card) session.commit()
def test_card(app): card = Card(name='My card', description='Some awesome card', position=1) assert card.name == 'My card' assert card.description == 'Some awesome card' assert card.position == 1
def test_card_relationship(self): uc = UserCard() self.assertIsNone(uc.card) c = Card() uc.card = c self.assertTrue(uc.card)
from app import app, db from app.models import Card a = Card(data=dict(title="Apple", text="This is an apple")) b = Card(data=dict(title="Pear", text="A pear")) a.save() b.save() # db.session.add(a) # db.session.add(b) # db.session.commit() # print("Created sample data")
def create_cards( client, creator=None, name="Test Card", description="", image="" ): with client.application.test_request_context(): if not creator: creator = create_admin(client) card1 = Card( name="Entertainment", description="Music/ Video/ TV", image="yay.jpg", creator=creator, ) card2 = Card( name="Sensitive Health Report", description="Blood Report/ Fertility Test/ DNA Test", image="yay.jpg", creator=creator, ) card3 = Card( name="Activity and Sleep", description="", image="yay.jpg", creator=creator, ) card4 = Card( name="Demographics Data", description="Age, Gender, Political Opinions, Religion, Height, Weight etc", image="yay.jpg", creator=creator, ) card5 = Card( name="Household", description="Energy/ water consumption. Fridge/ Food Cabinet", image="yay.jpg", creator=creator, ) card6 = Card( name="Service Contracts", description="Gym/ Telephone/ Mobile/ Internet/ TV", image="yay.jpg", creator=creator, ) card7 = Card( name="GP Health Records", description="", image="yay.jpg", creator=creator, ) card8 = Card( name="Fashion", description="Wardrobe/ Outfits", image="yay.jpg", creator=creator, ) card9 = Card( name="Communications", description="Calls/ Messages/ Chats", image="yay.jpg", creator=creator, ) card10 = Card( name="Financial", description="Bank Statements/ Contracts/ Life Insurance/ Vehicle/ Property", image="yay.jpg", creator=creator, ) card11 = Card( name="Food and Beverage", description="", image="yay.jpg", creator=creator, ) card12 = Card( name="Location", description="", image="yay.jpg", creator=creator ) card13 = Card( name="Mortgage", description="", image="hi.jpg", creator=creator ) card14 = Card( name="Research Institute", description="", image="hi.jpg", creator=creator, ) card15 = Card( name="Products and Services", description="", image="hi.jpg", creator=creator, ) card16 = Card( name="Insurance", description="Car insurers, Home insurers", image="hi.jpg", creator=creator, ) card17 = Card( name="Education Institute", description="", image="hi.jpg", creator=creator, ) card18 = Card( name="Government Regulated", description="Royal Mail, Network Rail", image="hi.jpg", creator=creator, ) card19 = Card( name="Social Media", description="Facebook, Snapchat, Instagram, Twitter, etc", image="hi.jpg", creator=creator, ) card20 = Card( name="Health Service", description="NHS", image="hi.jpg", creator=creator, ) card21 = Card( name="Religious Organisation", description="", image="hi.jpg", creator=creator, ) card22 = Card( name="Supermarket", description="Tesco, Sainsburys, Lidl, etc", image="hi.jpg", creator=creator, ) card23 = Card( name="Authorities", description="Police", image="hi.jpg", creator=creator, ) card24 = Card( name="Council", description="i.e. Cardiff City Council", image="hi.jpg", creator=creator, ) card25 = Card( name="Banks", description="i.e. Cardiff City Council", image="hi.jpg", creator=creator, ) card26 = Card( name="Government", description="", image="hi.jpg", creator=creator ) card27 = Card( name="Electricity", description="Electricity Companies", image="hi.jpg", creator=creator, ) db.session.add(card1) db.session.add(card2) db.session.add(card3) db.session.add(card4) db.session.add(card5) db.session.add(card6) db.session.add(card7) db.session.add(card8) db.session.add(card9) db.session.add(card10) db.session.add(card11) db.session.add(card12) db.session.add(card13) db.session.add(card14) db.session.add(card15) db.session.add(card16) db.session.add(card17) db.session.add(card18) db.session.add(card19) db.session.add(card20) db.session.add(card21) db.session.add(card22) db.session.add(card23) db.session.add(card24) db.session.add(card25) db.session.add(card26) db.session.add(card27) db.session.commit() return [ card1, card2, card3, card4, card5, card6, card7, card8, card9, card10, card11, card12, card13, card14, card15, card16, card17, card18, card19, card20, card21, card22, card23, card24, card25, card26, card27, ]
def generate_card_list(id_list): data = pd.read_excel('app\static\cards.xlsx', sheet_name='card', index_col='id') card_list = [] #print(id_list) for id in id_list: #print(id) c = data.loc[id] #r_stock=to_list(c['r_stock']) #print(r_stock) card=Card(id=id,card_type=c['type'],name=c['name'],description=c['description'],\ human=c['human'],human_rounds=c['human_rounds'],buff_id=c['buff_id'],\ autouse=c['autouse'],counts=c['counts'],r_stock=to_list(c['r_stock']),\ r_capacity=to_list(c['r_capacity']),r_consumption=to_list(c['r_consume']),\ r_production=to_list(c['r_prod'])) card_list.append(card) return card_list def buildings(): return [] if __name__ == "__main__": #print(cards().loc[100101]) print(Card(id=111, card_type='null')) print(generate_card_list([100101])[0].autouse)
def mod_card(): """ 修改卡片的信息 参数: 卡片的问题 卡片的类型 卡片的答案 卡片的id 卡集的id 用户手机号 :return: """ req_json = request.get_json() question = req_json.get("question") color = req_json.get("color") answer = req_json.get("answer") answer_html = req_json.get("answer_html") print(answer_html,"html") delta = req_json.get("delta") delta = json.dumps(delta) # 序列化 card_id = req_json.get("card_id") box_id = req_json.get("box_id") user_id = g.user_id # 用于身份认证,或许可以缓存session验证或者token # 判断敏感内容 msg_data = question + "内容的过度" + answer access_token = g.access_token if msg_unsafe(access_token, msg_data): return jsonify(code=4010, msg="提交含有敏感内容") try: # 判断账号是否存在 user = User.query.filter_by(id=user_id, is_active=True).first() if user is None: return jsonify(code=4001, msg="用户不存在或者用户状态异常") # 查询卡集是否是用户的 box = Box.query.filter_by(id=box_id, is_active=True, user_id=user.id).first() if box is None: return jsonify(code=4002, msg="卡集不存在或者你不是卡集拥有者") # 查询卡片是否是卡集的 box_with_card = BoxWithCard.query.filter_by(card_id=card_id, box_id=box_id).first() if box_with_card is None: return jsonify(code=4003, msg="找不到此卡片") # 判断卡是自己的还是共享的 print(box_with_card.card.get_status, "查找卡被多少引用") flag = len(box_with_card.card.get_status) # 引用卡的超过一个人 if flag > 1: # 新建卡 card = Card(question=question, answer=answer, color=color, delta=delta,answer_html=answer_html) db.session.add(card) # 提交变更 获取card的id try: db.session.commit() except Exception as e: print(e) db.session.rollback() return jsonify(code=4004, msg="修改卡失败") # 将中间表对应的新卡给替换掉原来绑定的卡 box_with_card.card_id = card.id db.session.add(box_with_card) msg = "新增卡片" # 引用卡的只有自己 else: # 直接在旧卡修改值 box_with_card.card.answer = answer box_with_card.card.question = question box_with_card.card.color = color box_with_card.card.delta = delta box_with_card.card.answer_html = answer_html db.session.add(box_with_card.card) msg = "直接修改" try: db.session.commit() except Exception as e: print(e) db.session.rollback() return jsonify(code=4005, msg="提交数据库变更失败") return jsonify(code=200, msg=msg, card_id=box_with_card.card_id) except Exception as e: print(e) return jsonify(code=4006, msg="提交数据库变更失败")
def share(request): data = request.POST['data'] if data: card = Card(author=request.user, body=data) card.save() return HttpResponseRedirect('/')
# created tables if not already created db.create_all() password_1 = "12345" hash_p_1 = sha256_crypt.hash(password_1) # create dummy accounts dummy_users = [ User("*****@*****.**", hash_p_1), ] db.session.add_all(dummy_users) db.session.commit() # create dummy kanban cards dummy_cards = [ Card(1, 0, "Breakfast", "Remember to eat it"), Card(1, 2, "Groceries", "Buy eggs") ] db.session.add_all(dummy_cards) db.session.commit()
def cardsearch(keyword, site): search = str(Site.query.filter_by(siteName=site).first()) search = search + keyword print(search) result = requests.get(search) #print the status code (can be useful for testing when it can't connect) print(result.status_code) #put the results into the BeautifulSoup webscraping tool using the lxml tool src = result.content soup = BeautifulSoup(src, 'lxml') #check what site to use if site == "TCGPlayer": #First Search(Find name [to make sure that it is the right name]) nameSrc = soup.find_all("a", {"class": "product__name"}) names = [] for name in nameSrc: names.append(name.text[0:len(keyword)]) #Second search(get the versions of the cards and add them to array) versionsSRC = soup.find_all("a", {"class": "product__group"}) versions = [] for version in versionsSRC: correct = len(version.text) - 7 versions.append(version.text[0:correct]) #Third Search(get the cost and add it to array) costs = [] divs = soup.find_all("div", {"class": "product__card"}) for div in divs: prices = div.find_all("dd") for price in prices: priceSave = price.text costs.append(float(priceSave.replace('$', ''))) print(price.text) elif site == "CardKingdom": #First Search(Find name) nameSrc = soup.find_all("span", {"class": "productDetailTitle"}) names = [] for name in nameSrc: cardname = name.find_next("a") names.append(cardname.text[0:len(keyword)]) #Second Search(get version) versionsSrc = soup.find_all("div", {"class": "productDetailSet"}) versions = [] for version in versionsSrc: ver = version.find_next("a") correct = len(ver.text) - 4 versions.append(ver.text[0:correct]) #Third Search(get price) costs = [] divs = soup.find_all("ul", {"class": "addToCartByType"}) for div in divs: li = div.find_next("li", {"class": "itemAddToCart"}) price = li.find_next("span", {"class": "stylePrice"}) priceSave = price.text costs.append(float(priceSave.replace('$', ''))) else: print("ERROR: INVALID SITE") #Combined each argument together for x in range(len(versions)): print(names[x], versions[x], costs[x]) #Check if card entry already exits if (Card.query.filter_by(cardName=names[x].lower()).filter_by( cardSet=versions[x]).all() == []): card = Card(cardName=names[x].lower(), cardSet=versions[x]) db.session.add(card) db.session.commit() c = Card.query.filter_by(cardName=names[x].lower()).filter_by( cardSet=versions[x]).first() print(c) s = Site.query.filter_by(siteName=site).first() print(s.siteName) r = Results(price=costs[x], siteId=s.id, cardId=c.id) db.session.add(r) db.session.commit()
def dashboard(): """View the dashboard.""" cards = [Card(check) for check in sorted(Check.query.all())] if len(cards) == 0: flash("No checks found.", category=Status.WARNING) return render_template("dashboard.j2", cards=cards)