Compare commits
6 Commits
9e2f6c28ef
...
63f07e9b9f
Author | SHA1 | Date |
---|---|---|
Kostanjevec | 63f07e9b9f | |
Kostanjevec | 9007ddcdf5 | |
Kostanjevec | 90cc19fc12 | |
Kostanjevec | da4fa5c23f | |
Kostanjevec | 0406fc6eab | |
Kostanjevec | 106052c5a2 |
18
app.py
18
app.py
|
@ -1,6 +1,5 @@
|
|||
import os
|
||||
from flask import Flask, redirect, render_template, session, request, url_for
|
||||
from datetime import date
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
@ -9,6 +8,7 @@ from auth import login_required, bp as auth_bp
|
|||
from deck import bp as deck_bp
|
||||
from menu import bp as menu_bp
|
||||
from upload import bp as upload_bp
|
||||
from share import share
|
||||
|
||||
from create_db import Card, Deck
|
||||
from config import CONFIG
|
||||
|
@ -45,15 +45,6 @@ def create_app(test_config=None):
|
|||
def index():
|
||||
return 'redirecting' # meče skoz nazaj na login TODO
|
||||
|
||||
@app.route('/deck/beta', methods=["GET", "POST"])
|
||||
def deck2():
|
||||
if request.method == 'POST':
|
||||
pass
|
||||
|
||||
return render_template("deck/index.html")
|
||||
|
||||
|
||||
#@login_required
|
||||
@app.route('/deck/index', methods=["GET", "POST"])
|
||||
def deck():
|
||||
if not 'user_id' in session:
|
||||
|
@ -80,10 +71,10 @@ def create_app(test_config=None):
|
|||
# @TODO preveri, ali je card del trenutnega decka!
|
||||
|
||||
# Ali damo share? Potem nastavi na share in ponovi obrazec
|
||||
share = request.form.get("share", None)
|
||||
if share:
|
||||
print(share)
|
||||
share_request = request.form.get("share", None)
|
||||
if share_request:
|
||||
# @TODO logika za share!
|
||||
share(submit_card, user_id)
|
||||
|
||||
# Če ne, gre za rate!
|
||||
else:
|
||||
|
@ -150,6 +141,7 @@ def create_app(test_config=None):
|
|||
def match():
|
||||
return "match"
|
||||
|
||||
|
||||
#app.register_blueprint(bp) # ??
|
||||
app.register_blueprint(auth_bp)
|
||||
app.register_blueprint(deck_bp)
|
||||
|
|
|
@ -36,7 +36,7 @@ class Card(Base):
|
|||
interest_rate = Column(Float)
|
||||
item_location = Column(String(1024))
|
||||
last_review = Column(Text)
|
||||
share_id = Column(Integer) #explain: 0 means not shared, otherwise increment from db and generate new cards for all relevant(tbd) users
|
||||
share_id = Column(Text) #explain: 0 means not shared, otherwise increment from db and generate new cards for all relevant(tbd) users
|
||||
|
||||
class Deck(Base):
|
||||
__tablename__ = 'deck'
|
||||
|
|
1
menu.py
1
menu.py
|
@ -53,4 +53,3 @@ def index():
|
|||
|
||||
|
||||
return render_template("menu/menu.html", username=username)
|
||||
|
||||
|
|
|
@ -14,8 +14,7 @@ dbsession = dbsessionmaker()
|
|||
|
||||
nc = nextcloud_client.Client('https://obzorje.kompot.si')
|
||||
|
||||
nc.login('gia', 'gia0000!')
|
||||
|
||||
nc.login(CONFIG['NC_USER'],CONFIG['NC_PASSWORD'])
|
||||
|
||||
l = nc.list("/GIA CLOUD")
|
||||
|
||||
|
@ -27,7 +26,7 @@ for item in l:
|
|||
|
||||
public_share = nc.share_file_with_link("/GIA CLOUD/"+name)
|
||||
public_link = public_share.get_link()+"/download/"+name
|
||||
card = Card(title=name, interest_rate=-1.0, owner_id=1, item_location=public_link, last_review=None, share_id=0)
|
||||
card = Card(title=name, interest_rate=-1.0, owner_id=1, item_location=public_link, last_review=None, share_id="0")
|
||||
dbsession.add(card)
|
||||
dbsession.commit()
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from config import CONFIG
|
||||
from create_db import User, Card
|
||||
|
||||
from hashlib import md5
|
||||
|
||||
|
||||
engine = create_engine(CONFIG['DB_CONNECTION'])
|
||||
dbsessionmaker = sessionmaker(bind=engine)
|
||||
dbsession = dbsessionmaker()
|
||||
|
||||
|
||||
def share(card, user_id):
|
||||
print(card.share_id, card.id)
|
||||
#tu bi lahko naredili nek autoincrement ampak i guess da hash unique idja tudi daje unique share_id, tega potem uporabljamo, da preverimo matche
|
||||
h = md5(str(card.id).encode("utf-8")).hexdigest()
|
||||
print("hash: ", h)
|
||||
card.share_id = h
|
||||
|
||||
# all users
|
||||
users = dbsession.query(User).filter(User.id != user_id).all()
|
||||
for user in users:
|
||||
print("hey, ", user.id)
|
||||
#TODO skip če že ima ta card v db.
|
||||
new_card = card = Card(title=card.title, interest_rate=-1.0, owner_id=user.id, item_location=card.item_location, last_review=None, share_id=h)
|
||||
dbsession.add(new_card)
|
||||
dbsession.commit()
|
Loading…
Reference in New Issue