Ejemplo n.º 1
0
def delete_classify():
    uid = request.args.get('uid')
    classify = ClassifyModel.select().where(ClassifyModel.id == uid).first()

    if len(classify.websites) == 0:
        ClassifyModel.delete().where(ClassifyModel.id == uid).execute()
    else:
        print('Can not be deleted.')
    return redirect(url_for('classify'))
Ejemplo n.º 2
0
def delete_classify():
    uid = request.args.get("uid")
    classify = ClassifyModel.select().where(ClassifyModel.id == uid).first()

    if len(classify.websites)==0:  # 有内容的分类不能删除
        ClassifyModel.delete().where(ClassifyModel.id == uid).execute()
    else:
        print("有内容的分类不能删除")
    return redirect(url_for("classify"))
Ejemplo n.º 3
0
def index():
    websites = WebsiteModel.select().where(WebsiteModel.weight != 0)
    classifies = ClassifyModel.select().where(
        ClassifyModel.weight != 0).order_by(-ClassifyModel.weight)
    print(len(websites))
    dct = {"websites": websites, "classifies": classifies}
    return render_template("index.html", **dct)
Ejemplo n.º 4
0
def classify():
    if request.method == 'GET':
        classifies = ClassifyModel.select().order_by(
            ClassifyModel.weight.desc())
        return render_template('classify.html', classifies=classifies)
    elif request.method == 'POST':
        name = request.form.get('name', '')
        if name == '':
            return 'No empty'
        weight = request.form.get('weight', '1')
        ret = ClassifyModel.select().where(ClassifyModel.name == name)

        if len(ret) == 0:
            ClassifyModel.create(name=name, weight=weight)
        else:
            ClassifyModel.update(weight=weight).where(
                ClassifyModel.name == name).execute()

        return redirect(url_for('classify'))
Ejemplo n.º 5
0
def classify():
    if request.method=="GET":
        classifies = ClassifyModel.select().order_by(ClassifyModel.weight.desc())

        return render_template("classify.html", classifies=classifies)

    elif request.method=="POST":

        name = request.form.get("name", "")

        if name=="": return "分类名不能为空"

        weight = request.form.get("weight", "1")

        ret = ClassifyModel.select().where(ClassifyModel.name==name)

        if len(ret)==0:  # 不存在就添加了
            ClassifyModel.create(name=name, weight=weight)

        else:  # 存在就更新
            ClassifyModel.update(weight=weight).where(ClassifyModel.name==name).execute()

        return redirect(url_for("classify"))
Ejemplo n.º 6
0
# Architecture
num_features = 722  #316   # todo : compute
num_hidden = [num_features, num_features]
# num_hidden = [316,316]
num_classes = 6
best_epoch = 3

train_loader, test_loader = LoadData(batch_size)

##########################
### TRAIN
##########################

torch.manual_seed(random_seed)
model = ClassifyModel(num_features=num_features,
                      num_hidden=num_hidden,
                      num_classes=num_classes,
                      dropout_prob=dropout_prob)

if os.path.exists('model_{}.pkl'.format(best_epoch)):
    model.load_state_dict(torch.load('model_{}.pkl'.format(best_epoch)))

model = model.to(device)

optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)


def compute_accuracy(net, data_loader):
    net.eval()
    correct_pred, num_examples = 0, 0
    with torch.no_grad():
        for features, targets in data_loader:
Ejemplo n.º 7
0
def edit():
    if request.method == 'GET':
        uid = request.args.get('uid')
        website = WebsiteModel.select().where(WebsiteModel.id == uid).first()
        classifies = ClassifyModel.select()

        return render_template("edit.html",
                               website=website,
                               classifies=classifies)

    elif request.method == 'POST':
        title = request.form.get('title', '')
        if title == '':
            return 'No empty Address!'

        url = request.form.get('url', '')
        if url == '':
            return 'No Empty Links!'

        ico = request.form.get('ico', '')
        print('ico', type(ico), ico)

        ret = None

        if ico == '':
            ret = get_website_info(url)
            ico = ret.get('icon')
        ico = download_icon(ico)

        description = request.form.get('description', '')
        if description == '':
            if ret == None:
                ret = get_website_info(url)
            description = ret.get('title', '')

        # None
        classify_id = request.form.get('classify', '')
        classify_id = int(classify_id) if classify_id != '' else 0

        print(classify_id, type(classify_id))

        weight = request.form.get('weight', '')
        weight = int(weight) if weight != '' else 1

        uid = request.form.get('uid', '')
        ret = WebsiteModel.select().where(
            WebsiteModel.id == uid).first() if uid != '' else None

        # if any updates existes
        if ret:
            print('Updating...')
            WebsiteModel.update(
                title=title,
                ico=ico,
                description=description,
                url=url,
                classify_id=classify_id,
                weight=weight).where(WebsiteModel.id == uid).execute()

        else:
            # if the name is same
            ret = WebsiteModel.select().where(WebsiteModel.title == title)
            if len(ret) != 0:
                print('The website does exist.', title)
            else:
                WebsiteModel.create(title=title,
                                    ico=ico,
                                    description=description,
                                    url=url,
                                    classify_id=classify_id,
                                    weight=weight)
                print('Successfully Added.', title)

        return redirect(url_for('admin'))
Ejemplo n.º 8
0
def edit():
    if request.method=="GET":
        uid = request.args.get("uid")
        website = WebsiteModel.select().where(WebsiteModel.id==uid).first()
        classifies = ClassifyModel.select()

        return render_template("edit.html", website=website, classifies=classifies)


    elif request.method == "POST":

        title = request.form.get("title", "")
        if title == "": return "网站名称不能为空!"

        url = request.form.get("url", "")
        if url == "": return "网站链接不能为空!"

        ico = request.form.get("ico", "")
        print("ico", type(ico), ico)

        ret = None

        if ico == "":
            ret = get_website_info(url)
            ico = ret.get("icon")
        ico = download_icon(ico)

        description = request.form.get("description", "")
        if description=="":
            if ret ==None:
                ret = get_website_info(url)
            description =ret.get("title", "")

        # 可能是 "" None
        classify_id = request.form.get("classify", "")
        classify_id = int(classify_id) if classify_id!="" else 0

        print(classify_id, type(classify_id))

        weight = request.form.get("weight", "")
        weight = int(weight) if weight != "" else 1

        uid = request.form.get("uid", "")
        if uid !="":
            ret = WebsiteModel.select().where(WebsiteModel.id==uid).first()
        else:
            ret = None

        # 存在则更新
        if ret:
            print("更新")
            WebsiteModel.update(
                title=title,
                ico=ico,
                description=description,
                url=url,
                classify_id=classify_id,
                weight=weight
            ).where(WebsiteModel.id==uid).execute()

        # 不存在则添加数据
        else:
            # 同名网站不添加
            ret = WebsiteModel.select().where(WebsiteModel.title==title)
            if len(ret)!=0:
                print("网站名已存在", title)
            else:
                WebsiteModel.create(
                    title=title,
                    ico=ico,
                    description=description,
                    url=url,
                    classify_id=classify_id,
                    weight=weight
                )
                print("添加成功", title)

        return redirect(url_for("admin"))