Esempio n. 1
0
 def deposit_index(methods=["GET", "OPTIONS"]):
     if request.method == "OPTIONS":
         return jsonify({}), 200
     try:
         # authentication
         token, user = Helper.user_authentication()
         if token and user == None:
             return Helper.abort(401, "Unauthorized", base="Invalid credentials")
         # ordering
         order_by = request.args.get('order_by', 'created_at')
         order = request.args.get('order', 'desc')
         # pagination
         size = int(request.args.get('page_size', 10))
         if size > 10 and size < 1:
             size = 10
         page = int(request.args.get('page', 1))
         if page < 1:
             page = 1
         # get deposit
         ds = Deposit.get_deposits(size=size, page=page, order_by=order_by,
             order=order, user=user)
         resp = Response(Deposit.to_deposits_json(ds))
         resp.code = 200
         if user:
             resp.headers['X-Token'] = "B2SHARE " + user.get_token()
         return resp
     except:
         return Helper.abort(500, "Internal Server Error", base="Internal Server Error")
Esempio n. 2
0
def check(user, passwd):
    try:
        i = imaplib.IMAP4_SSL("imap.gmail.com")
        i.login(user, passwd)
    except imaplib.IMAP4.error as ex:  ## kannski grípa utar
        log(str(ex))
        sys.exit(1)

    i.select()
    status, response = i.search(None, 'ALL')
    mailids = [int(a) for a in response[0].split()]
    my_mailid = DB.get().max_mailid()
    new_mailids = [a + 1 for a in range(my_mailid, max(mailids))]

    for mailid in new_mailids:
        DB.get().add_mailid(mailid)
        f = i.fetch(mailid, '(RFC822)')
        mail = f[1][0][1]
        info = f[1][0][0]
        try:
            b = Bankmail(mail)
            # .new() calls .save() :(
            Deposit.new(b.username, b.amount, "Wire", deposit=True, vsk=25.5)
            logger.email(
                "Username: {username}\nAmount: {amount}".format(**b.__dict__))
        except NotBankmail as notb:
            log("Skipping {0}: {1}".format(mailid, str(notb)))
            pass
        except ValueError as ve:
            logger.email("Skipping {0}: {1}".format(mailid, ve))
        except AttributeError:
            logger.email(
                "User {username} not found. Amount: {amount}. Parser: {bank}".
                format(**b.__dict__))
        except Exception as e:
            logger.email("Uncaught exception: " + str(e))
            sys.exit(1)

    i.close()
    i.logout()
Esempio n. 3
0
def check(user, passwd):
    try:
        i = imaplib.IMAP4_SSL("imap.gmail.com")
        i.login(user, passwd)
    except imaplib.IMAP4.error as ex: ## kannski grípa utar
        log(str(ex))
        sys.exit(1)

    i.select()
    status, response = i.search(None, 'ALL')
    mailids = [int(a) for a in response[0].split()]
    my_mailid = DB.get().max_mailid()
    new_mailids = [a+1 for a in range(my_mailid, max(mailids))]

    for mailid in new_mailids:
        DB.get().add_mailid(mailid)
        f = i.fetch(mailid, '(RFC822)')
        mail = f[1][0][1]
        info = f[1][0][0]
        try:
            b = Bankmail(mail)
            # .new() calls .save() :(
            Deposit.new(b.username, b.amount, "Wire", deposit=True, vsk=25.5)
            logger.email("Username: {username}\nAmount: {amount}".format(**b.__dict__))
        except NotBankmail as notb:
            log("Skipping {0}: {1}".format(mailid, str(notb)))
            pass
        except ValueError as ve:
            logger.email("Skipping {0}: {1}".format(mailid, ve))
        except AttributeError:
            logger.email("User {username} not found. Amount: {amount}. Parser: {bank}".format(**b.__dict__))
        except Exception as e:
            logger.email("Uncaught exception: " + str(e))
            sys.exit(1)

    i.close()
    i.logout()
Esempio n. 4
0
    def deposit(methods=["GET", "OPTIONS"]):
        if request.method == "OPTIONS":
            return jsonify({}), 200
        try:
            # authentication
            token, user = Helper.user_authentication()
            if token and user == None:
                return Helper.abort(401, "Unauthorized", base="Invalid credentials")

            # request
            uuid = request.args.get('uuid', None)
            if uuid == None:
                return Helper.abort(400, "Bad Request", base="Unknown Deposit request")

            deposit = Deposit.find_deposit(uuid=uuid, user=user)
            if deposit == None:
                return Helper.abort(404, "Not Found", base="Deposit not found")
            resp = Response(deposit.to_json())
            resp.code = 200
            if user:
                resp.headers['X-Token'] = "B2SHARE " + user.get_token()
            return resp
        except:
            return Helper.abort(500, "Internal Server Error", base="Internal Server Error")