from aiogram.dispatcher import FSMContext from aiogram.dispatcher.filters.state import State, StatesGroup from mics import dp, bot from models import Database from aiogram import types import text import markup import datetime import config db = Database() class CreatePairOfKeys(StatesGroup): name = State() keys = State() text = State() class AddKey(StatesGroup): state = State() key = State() class UpdateText(StatesGroup): state = State() text = State() @dp.message_handler(state=CreatePairOfKeys.name, text='🚫 Отмена')
import sendgrid import util, configparser, getopt, subprocess, sys, time, psutil #from models import ProcessTimeSeries from models import Database start_time = time.time() # initial setup config = util.readConfig() logger = util.getLogger(config) sg = util.getSendGrid(config) db = Database(config) # parse arguments try: opts, args = getopt.getopt(sys.argv[1:], "hvrt", ["--restarts"]) except getopt.GetoptError: print ("Not enough options") sys.exit(2) for opt, arg in opts: if opt == '-h': util.printhelp() sys.exit(0) elif opt in ("-r", "--restarts"): util.printrestarts(config) sys.exit(0) elif opt in ("-t", "--time"): util.printtimeseries(config) sys.exit(0) elif opt == "-v":
def worker(Stream, methodname, env='prod'): db = Database(env=env) stream = Stream(db) getattr(stream, methodname)()
from models import Database if __name__ == "__main__": with Database('HomeLibrary_db.sqlite') as db: db.execute('CREATE TABLE IF NOT EXISTS authors ( \ id integer PRIMARY KEY AUTOINCREMENT, \ imie VARCHAR(250) NOT NULL, \ nazwisko VARCHAR(250) NOT NULL, \ opis text );') db.execute('CREATE TABLE IF NOT EXISTS publishers ( \ id integer PRIMARY KEY AUTOINCREMENT, \ nazwa VARCHAR(250) NOT NULL, \ siedziba VARCHAR(250) NOT NULL, \ opis text );') db.execute('CREATE TABLE IF NOT EXISTS genres ( \ id integer PRIMARY KEY AUTOINCREMENT, \ nazwa VARCHAR(250) NOT NULL );') db.execute('CREATE TABLE IF NOT EXISTS books ( \ id integer PRIMARY KEY AUTOINCREMENT,\ tytuł VARCHAR NOT NULL,\ author_id integer NOT NULL,\ opis text,\ rok_wydania YEAR NOT NULL, \ wydawnictwo_id integer NOT NULL,\ url_okładki VARCHAR,\ genre_id,\ FOREIGN KEY(author_id) REFERENCES authors(id),\
def db(mocker): return Database(kind=SQLITE, engine=mocker.Mock())
def edit_post_blog_admin(slug_post): """ The edit a Post for blog Page as an admin. """ post = Database().get_blog_post_data_from_db(slug_post) if post is False: abort(404) if request.method == "POST": def form_handler(request): slug = request.form.get("name_eng") if request.form.get("name_persian") == "": return { "Result": False, "Message": "نام فارسی دوره را وارد کنید." } if request.form.get("name_eng") == "": return { "Result": False, "Message": "نام انگلیسی دوره را وارد کنید." } if request.form.get("text") == "": return {"Result": False, "Message": "متن اصلی را وارد کنید."} uploaded_file = request.files["cover"] if uploaded_file.filename != "": english_name = slug uploaded_image = request.files.get("cover") uploaded_image_bytes = uploaded_image.read() format_file = General().format_recognizer(uploaded_image_bytes) General().setup_blog_post_folder(slug) file_name = "blog-cover_" + english_name + "." + format_file location_image = "static/assets/images/blog/{}/".format( slug) + file_name location_image_href = "/static//assets/images/blog/{}/".format( slug) + file_name with open(location_image, "wb") as file: file.write(uploaded_image_bytes) General().image_resizer_using_imgp(location_image, 1500) General().image_optimizer_using_imgp(location_image) else: location_image_href = post["Cover"] message = Database().edit_post_blog_to_db( old_enlish_name=slug_post, persian_name=request.form.get("name_persian"), eng_name=(request.form.get("name_eng").replace(" ", "-")).replace( "_", "-"), cover_href=location_image_href, text=request.form.get("text"), ) return message, (request.form.get("name_eng").replace( " ", "-")).replace("_", "-") message, eng_slug = form_handler(request) message_original = message if message is True: message = {"Color": "green", "Result": "با موفقیت ویرایش شد."} else: if message["Result"] is False: message["Color"] = "red" else: message["Color"] = "green" message["Result"] = message["Message"] flash(message) if message_original is True: return redirect('/blog/{}'.format(eng_slug)) else: return redirect('/Admin/Edit/Post/{}'.format(post["English_Name"])) return render_template( "admin/admin_edit_post.html", post=post, days_passed_till_now=General().days_passed_till_now())
except: continue else: base = fyl.split('.')[0] with open(fn) as f: while True: row = f.readline().replace( '\n', '' ) if not row: break try: row = json.loads( row ) except Exception as e: pass if 'modified' in row: if not row['modified']: row['modified'] = datetime.today() - timedelta(days = 1) else: row['modified'] = datetime.strptime(row['date'], "%Y-%m-%d" ) for r in row: record = table[base]( **r ) record.save() if __name__ == '__main__': from models import Database with Database('sqlite:///'): load_fixtures("fixtures/", ['fta.json'])