Esempio n. 1
0
def router(path: str, token):
    view = _get_view(path)
    if view.login_required:
        try:
            token = Manager(Token).get(token=token)
        except DoesNotExistsError:
            raise UnauthenticatedError()

        customer = Manager(Customer).get(pk=token.customer)
        view.customer = customer

    return view
Esempio n. 2
0
    def post(self, data):
        if not self.customer.has_valid_subscription():
            return self.response({"error": "no valid subscription"})

        plan = Manager(Plan).get(pk=self.customer.plan)
        websites = Manager(Website).filter(customer=self.customer)

        if len(websites) >= int(plan.number_of_websites):
            return self.response(
                {"error": "maximum number of websites for your plan"})

        if "url" not in data:
            return self.response({"error": "missing website url"})

        website = Website(url=data["url"], customer=self.customer.pk)
        website.save()
        return self.response({"website": website.pk})
    def test_success(self):
        data = {"name": "name", "password": "******", "email": "email"}

        view = RegisterView()
        response = view.post(data).decode("utf-8")
        response = json.loads(response)

        self.assertTrue("uid" in response)
        Manager(Customer).get(pk=response["uid"])
Esempio n. 4
0
File: main.py Progetto: clover3/NLI
def run_adverserial():
    voca = load_voca()
    manager = Manager(max_sequence=100, word_indice=voca,
                      batch_size=args.batch_size, num_classes=3,
                      vocab_size=1000, embedding_size=300, lstm_dim=1024)
    # Dev acc=0.6576999819278717 loss=0.8433943867683411
    # manager.load("hdrop2/model-41418")
    manager.load("hdrop/model-42952")
    manager.run_adverserial(voca)
Esempio n. 5
0
    def delete(self):
        website = Manager(Website).get(pk=self.kwargs["pk"])

        if website.customer.pk != self.customer.pk:
            return self.response({"error": "Not allowed"})

        website.delete()

        return self.response({"deleted": "website deleted"})
Esempio n. 6
0
 def post(self, data):
     password = data.get("password", "")
     customer: Customer = Manager(Customer).get(email=self.kwargs["email"])
     if customer.verify_password(password):
         token = Token(customer=customer.pk, token=str(uuid4()))
         token.save()
         return self.response({"token": token.token})
     else:
         return self.response({"error": "Invalid password"})
 def test_login(self):
     password = "******"
     self.customer.set_password(password)
     self.customer.save()
     view = LoginView(email=self.customer.email)
     response = view.post({"password": password}).decode("utf-8")
     response = json.loads(response)
     self.assertTrue("token" in response)
     token = Manager(Token).get(token=response["token"])
     self.assertEqual(token.customer, self.customer.pk)
    def test_filter(self):
        self.TestModel(test_field="instance1").save()
        self.TestModel(test_field="instance2").save()
        self.TestModel(test_field="instance2").save()

        results = Manager(self.TestModel).filter(test_field="instance2")
        self.assertEqual(2, len(results))

        for x in results:
            self.assertIsInstance(x, self.TestModel)
Esempio n. 9
0
File: main.py Progetto: clover3/NLI
def train_cafe():
    voca = load_voca()
    args.char_vocab_size = load_char_length()
    model = Manager(max_sequence=100, word_indice=voca,
                    batch_size=args.batch_size, num_classes=3, vocab_size=1000,
                    embedding_size=300, lstm_dim=1024)
    data = models.common.load_pickle("train_corpus.pickle")
    validate = models.common.load_pickle("dev_corpus")
    epochs = 30
    model.train(epochs, data, validate)
Esempio n. 10
0
File: main.py Progetto: clover3/NLI
def view_weights():
    voca = load_voca()
    manager = Manager(max_sequence=100, word_indice=voca,
                      batch_size=args.batch_size, num_classes=3,
                      vocab_size=1000, embedding_size=300, lstm_dim=1024)
    # Dev acc=0.6576999819278717 loss=0.8433943867683411
    manager.load("wattention/model-12272")
    validate = models.common.load_pickle("dev_corpus")

    manager.view_weights(validate)
Esempio n. 11
0
def make_user(type,
              name,
              surname,
              middle_name,
              password=None,
              worker_type=None,
              login=None,
              ean13=None):

    if type == UserType.MANAGER:

        if not login or not password:
            return None

        user = User()
        user.type = UserType.MANAGER
        user.name = name
        user.surname = surname
        user.middle_name = middle_name
        user.manager = Manager()
        user.manager.login = login
        user.manager.password = (hashlib.sha256(
            (password +
             config['secure']['salt_password']).encode()).hexdigest())
        user.manager.save()
        user.save()
        user.db_session.commit()

        print('Created manager {0} {1} with login {2}.'.format(
            name, surname, login))

        return user

    else:

        if not ean13 or not worker_type:
            return None

        user = User()
        user.type = UserType.WORKER
        user.name = name
        user.surname = surname
        user.middle_name = middle_name
        user.worker = Worker()
        user.worker.type = worker_type
        user.worker.ean13 = ean13
        user.worker.password = Worker.generate_worker_password()
        user.worker.save()
        user.save()
        user.db_session().commit()

        print('Created {0} {1} {2} with ean13 {3}.'.format(
            worker_type.name.swapcase(), name, surname, ean13))

        return user
Esempio n. 12
0
File: main.py Progetto: clover3/NLI
def lrp_run():
    voca = load_voca()
    manager = Manager(max_sequence=100, word_indice=voca,
                      batch_size=args.batch_size, num_classes=3,
                      vocab_size=1000, embedding_size=300, lstm_dim=1024)
    # Dev acc=0.6576999819278717 loss=0.8433943867683411
    manager.load("hdrop2/model-41418")
    validate = models.common.load_pickle("dev_corpus")
    # manager.view_lrp(validate, reverse_index(voca))
    # manager.lrp_3way(validate, reverse_index(voca))
    manager.lrp_entangle(validate, models.common.reverse_index(voca))
Esempio n. 13
0
File: main.py Progetto: clover3/NLI
def train_keep_cafe():
    voca = load_voca()
    manager = Manager(max_sequence=100, word_indice=voca,
                      batch_size=args.batch_size, num_classes=3,
                      vocab_size=1000, embedding_size=300, lstm_dim=1024)
    # Dev acc=0.6576999819278717 loss=0.8433943867683411
    data = models.common.load_pickle("train_corpus.pickle")
    validate = models.common.load_pickle("dev_corpus")

    manager.load("model-15340")
    manager.train(20, data, validate, True)
Esempio n. 14
0
    def patch(self, data):
        website = Manager(Website).get(pk=self.kwargs["pk"])

        if website.customer.pk != self.customer.pk:
            return self.response({"error": "Not allowed"})

        if "url" not in data:
            return self.response({"error": "missing website url"})

        website.url = data["url"]
        website.save()
        return self.response({"success": "website updated"})
Esempio n. 15
0
    def test_save(self):
        with tempfile.TemporaryDirectory() as tmpdir:
            settings.data_dir = Path(tmpdir)

            value = "test4321"
            model = self.TestModel(test_field=value)
            model.save()
            pk = model.pk
            loader.clear_cache()
            self.assertEqual(loader.data, {})
            loaded_model = Manager(self.TestModel).get(pk=pk)
            self.assertEqual(loaded_model.test_field, value)
Esempio n. 16
0
    def test_delete(self):
        with tempfile.TemporaryDirectory() as tmpdir:
            settings.data_dir = Path(tmpdir)

            value = "test4321"
            model = self.TestModel(test_field=value)
            model.save()
            pk = model.pk
            model.delete()
            loader.clear_cache()
            self.assertEqual(loader.data, {})
            with self.assertRaises(DoesNotExistsError):
                Manager(self.TestModel).get(pk=pk)
Esempio n. 17
0
    def post(self, data):
        if verify_payment(data["payment_token"]):
            plan_pk = data["plan"]
            try:
                Manager(Plan).get(pk=plan_pk)
            except DoesNotExistsError:
                return self.response({"error": "Plan does not exist"})

            self.customer.plan = plan_pk

            today = dt.date.today()
            ends = dt.date(year=today.year + 1,
                           month=today.month,
                           day=today.day)
            self.customer.subscription = ends.strftime("%Y/%m/%d")
            self.customer.save()
            return self.response({"success": "subscribed"})
        else:
            return self.response({"error": "payment failed"})
Esempio n. 18
0
def save_managerdata(id):
    the_document = Employee.query.filter(
        Employee.id == id).order_by("id desc").first()
    reply = request.form.get('reply')

    manager_form = Manager(
        reply=reply,
        emp_table_id=the_document.id,
        IP_addr=request.remote_addr,
        Location=request.form.get('location'),
        UserAgent=request.user_agent.browser,
        OperatingSystem=request.user_agent.platform,
        Time=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
    )

    db.session.add(manager_form)
    db.session.commit()
    utils.send_manager_link_as_mail(
        email=email,
        emp_code1=emp_code1,
    )
    return redirect('/success')
Esempio n. 19
0
    def post(self, data):
        try:
            name = data["name"]
            password = data["password"]
            email = data["email"]
            subscription = None
            plan = None
        except KeyError:
            return self.response({"error": "Missing required data"})

        if any(Manager(Customer).filter(email=email)):
            return self.response({"error": "Email already in use"})

        customer = Customer(
            name=name,
            password=password,
            email=email,
            subscription=subscription,
            plan=plan,
        )
        customer.set_password(password)
        customer.save()

        return self.response({"uid": customer.pk})