コード例 #1
0
ファイル: deck_cards.py プロジェクト: philling83/OpenBook
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()
コード例 #2
0
# ---------------------------------
# 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) 
 
コード例 #3
0
# 既存のデータを削除
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()
コード例 #4
0
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
コード例 #5
0
 def test_card_relationship(self):
     uc = UserCard()
     self.assertIsNone(uc.card)
     c = Card()
     uc.card = c
     self.assertTrue(uc.card)
コード例 #6
0
ファイル: search.py プロジェクト: ketsapiwiq/search-cards
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")
コード例 #7
0
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,
        ]
コード例 #8
0

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)
コード例 #9
0
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="提交数据库变更失败")
コード例 #10
0
def share(request):
    data = request.POST['data']
    if data:
        card = Card(author=request.user, body=data)
        card.save()
    return HttpResponseRedirect('/')
コード例 #11
0
ファイル: dummy.py プロジェクト: gwpicard/flask-kanban
# 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()
コード例 #12
0
ファイル: search.py プロジェクト: THEHEAT01/MagicPriceSearch
    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()
コード例 #13
0
ファイル: routes.py プロジェクト: averycrespi/statice
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)