Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 14.03.2021 во всех областях

  1. 2 балла
    Картинки добавь пж скорее!!!Я токо ради этой темы регался!
  2. 2 балла
    Вроде разгрёб завал на учёбе, потихоньку возвращаюсь к OC. Вот очередная реализация, правда уже не очень простая. За то по скорости не уступает варианту с предварительно заданным списком файлов. Сам инсталятор: local internet = require("internet") local fs = require("filesystem") local shell = require("shell") local ser = require("serialization") local host = "alexcatze.pythonanywhere.com" local owner = "AlexCatze" local repo = "RacoonNet" local ref = "v0.2" local path = "/" local deploy_to = "/" function request(url) local data = "" local result, response = pcall(internet.request, url) if result then local result = pcall(function() for chunk in response do data = data .. chunk end end) end return data end files = ser.unserialize(request("http://"..host.."/?owner="..owner.."&repo="..repo.."&path="..path.."&ref="..ref)) for _,v in pairs(files) do local pth = deploy_to..v if not fs.exists(pth:match(".*/")) then fs.makeDirectory(pth:match(".*/")) end shell.execute("wget -f ".."https://raw.githubusercontent.com/"..owner.."/"..repo.."/"..ref.."/"..v.." "..pth) end Как видно, он стучится мне на pythonanywhere, откуда и берёт список файлов. Вот код с pythonanywhere: from flask import Flask from flask import request import requests import json def request_url(url, result): r = requests.get(url) j = json.loads(r.text) for x in j: if x["type"] == "file": result = result + "\"" + x["path"] + "\"," else: result = request_url(x["url"],result) return result app = Flask(__name__) def main(): uname = "AlexCatze" token = "тут мой токен, вам я его не скажу!!!" if uname != request.args["owner"]:#Проверка, что бы другие не использовали мой лимит return "{}" result = request_url("https://"+uname+":"+token+"@api.github.com/repos/"+request.args["owner"]+"/"+request.args["repo"]+"/contents"+request.args["path"]+"?ref="+request.args["ref"],"{") result = result + "}" return result app.add_url_rule("/", "main", main,methods=['GET']) Тут мы получаем запрос, из него извлекаем нужные данные. Потом используя api ключ(тогда лимит запросов 5000 в час), рекурсивно получаем список файлов, и отправляем его на клиент. Вечером подробно распишу, как это настроить.
  3. 1 балл
    Так то я выкатил уже версию 0.3, можешь поменять в инсталляторе. Хоть мне и пришло письмо, что бан сняли, на деле ничего не поменялось. Сейчас залью инсталлятор на гитхаб, и кину ссылку. UPD: Залил на гитхаб, вот ссылка https://raw.githubusercontent.com/AlexCatze/RacoonNet/master/installer.lua . В шапке тоже поменял.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...