def comparison(img1, img2): init_db() color1 = get_images(img1) color2 = get_images(img2) c1 = sorted([ [ int(color1[0][1:3], 16), int(color1[0][3:5], 16), int(color1[0][5:7], 16) ], [ int(color1[1][1:3], 16), int(color1[1][3:5], 16), int(color1[1][5:7], 16) ], [ int(color1[2][1:3], 16), int(color1[2][3:5], 16), int(color1[2][5:7], 16) ], ]) c2 = sorted([ [ int(color2[0][1:3], 16), int(color2[0][3:5], 16), int(color2[0][5:7], 16) ], [ int(color2[1][1:3], 16), int(color2[1][3:5], 16), int(color2[1][5:7], 16) ], [ int(color2[2][1:3], 16), int(color2[2][3:5], 16), int(color2[2][5:7], 16) ], ]) # np.linalg.norm это функция вычисления дистанции между векторами res = [ np.linalg.norm(np.asarray(c1[0]) - np.asarray(c2[0])), np.linalg.norm(np.asarray(c1[1]) - np.asarray(c2[1])), np.linalg.norm(np.asarray(c1[2]) - np.asarray(c2[2])), ] n_c = get_index(img1) n_f = get_index(img2) if np.linalg.norm(res) < 56 and n_f >= n_c and n_f - n_c <= 3: return True else: False
import random import base db = base.init_db() def send_message(init,user_id,message,keyboard=None): if keyboard: init.messages.send(user_id=user_id,message=message,keyboard=keyboard,random_id=random.randrange(1,2147483647)) else: init.messages.send(user_id=user_id,message=message,random_id=random.randrange(1,2147483647)) def get_collection(db,collection): return db.KCPT.collection.find() def get_info(collection,user_id): return db.KCPT.collection.find_one({"user_id":int(user_id)})
import shutil import random import numpy as np from image import CalcImageHash # Функция вычисления хеша картинок from color import colorz # Функция поиск доминирующих цветов from base import init_db # Бза данных from base import add_images # Функция БД. Добавление картинки в базу from base import get_images # Функция БД. Взятие картинки из базы from base import get_index # Функция БД. Взятие индекса картинки из базы from base import find_hash # Функция БД. Поиск хеша картинки в базе from base import add_list # Функция БД. Добавление списка картинок в альбоме from base import get_list # Функция БД. Взяие списка картинок в альбоме from base import count_id # Функция БД. Счетчик записей в базе from comparison_color import comparison # Функция сравнения цвета init_db(True) path = "" # Путь откуда берем картинки path_to = "" # Путь куда кдалем их после обработки ############################################## # # В этой части берем картинки из дериктории, находим хеш и доминирующие цвета и заносим в базу a = os.listdir(path) dublikat = 0 for i in a: hash = CalcImageHash(path+i) if find_hash(hash): c = colorz(path+i, n=3) c = list(c) add_images(i, hash, c[0], c[1], c[2]) print(i)
def init(): init_db()
import io import ipfshttpclient import matplotlib.pyplot as plt import pytest import qrcode import os app = Flask(__name__) babel = Babel(app) translator = Translator() app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False test_address = os.environ.get('TEST_ADDRESS') private_key = os.environ.get('PRIVATE_KEY') web3 = Web3(Web3.HTTPProvider(os.environ.get('ROPSTEN_URL'))) valorUDC = cryptocompare.get_price('ETH').get('ETH').get('EUR') init_db() app.secret_key = os.environ.get("PRIVATE_KEY") app.config["PRIVATE_KEY"] = app.secret_key oauth = OAuth(app) google = oauth.register( name='google', client_id=os.environ.get('GOOGLE_CLIENT_ID'), client_secret=os.environ.get('GOOGLE_CLIENT_SECRET'), access_token_url='https://accounts.google.com/o/oauth2/token', access_token_params=None, authorize_url='https://accounts.google.com/o/oauth2/auth', authorize_params=None, api_base_url='https://www.googleapis.com/oauth2/v1/', userinfo_endpoint='https://openidconnect.googleapis.com/v1/userinfo', client_kwargs={'scope': 'openid email profile'},
logging.info('calculating members fines .....') today = datetime.datetime.now().date() filters = [self.active == True] filters.append(self.end < today) borrows = [] with self().session() as session: try: borrows = session.query(self) for f in filters: borrows = borrows.filter(f) # print borrows.count() borrows = borrows.all() session.expunge_all() except Exception as e: logging.error(e) return for b in borrows: try: fine = today - b.end fine = fine.days * FINE # print fine member = Member.by_id(b.member_id) # fine += int(member.fine) if member.fine.isdigit() else 0 member.update(fine=fine) except Exception as e: logging.error(e) logging.info('members fines calculated') if __name__ == '__main__': init_db()