From 08a6648f1eb932521e0c5ba3a0fc40929ad81e8f Mon Sep 17 00:00:00 2001 From: Alex55 Date: Mon, 16 Mar 2026 18:13:59 +0200 Subject: [PATCH] first commits1 --- API/rok.py | 4 +- Dockerfile | 2 +- app/__pycache__/routes.cpython-313.pyc | Bin 874 -> 817 bytes app/routes.py | 4 +- docker-compose.yml | 20 ++--- main.py | 2 +- services/__pycache__/rokky.cpython-313.pyc | Bin 361 -> 136 bytes services/gg.py | 87 ++++++++++++++++++++- services/rokky.py | 12 +-- 9 files changed, 108 insertions(+), 23 deletions(-) diff --git a/API/rok.py b/API/rok.py index 752a5af..cffd6db 100644 --- a/API/rok.py +++ b/API/rok.py @@ -57,7 +57,7 @@ def download_products(user_name): print("Каталог продуктов скачан.") -download_products(user_name) +# download_products(user_name) # get_orders(access_token) @@ -74,7 +74,7 @@ def download_prices(partner_code): print("Каталог цен скачан.") -# download_prices(partner) +download_prices(partner) \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index e3f94ff..89a0392 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,4 +26,4 @@ EXPOSE 8005 # Presuming there is a `my_app` command provided by the project uvicorn main:app --reload -CMD ["uv", "run", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8005"] \ No newline at end of file +CMD ["uv", "run", "main.py"] \ No newline at end of file diff --git a/app/__pycache__/routes.cpython-313.pyc b/app/__pycache__/routes.cpython-313.pyc index 517d17f349d4d4df809d0b9ee9a41275fbef6e35..097773f224ff03386bd348ef5d9285e66b203366 100644 GIT binary patch literal 817 zcmaixzi$&U6vv-^xgSXrK{}-9I#870Us)+~Yo@ zJh(%7afSCT;7cp~+6wP?%Js@`)2&W)@m@R<1KI5lbs>qmeNEV_g%GYhu5sI zd@_}#`2_9R?ziMs+>|ktQ9psqgYrf$z+)h82<|3ndlZXZS;IT#lhhce%prvQgw2@; zLG^QOdhLh5Jt>?M_ha}z{B-}r^%*5(bM64GW+ux@Ks|f*=+yh-PTx(!?}W`LB^w61 bnVBpLmeAhx&FN^G8feE@( z(pcgzqyy3LGZMK$D@6)|hVCL4wCwDiEhi)^?e1I6n|p8GjY_2g$aVPlo9{4yU-TF+ zBLk!F5)8lvmuJ_N76>#;sQPWaBnsxJ8DeIlOT%#rxXt`z?YAFQF zUBk8}?A#RFzJ_g2*!d}TzE!9e|BzCZiTtCm$Ghlvc8{1aq7ILR(f0g~V9rivMqOl5 zmwQC>51_@W+IH`z#2Y*eqssBulm79SlXv%y0P{qX8^o&fDr$4*g_LmKL>M?Nugzn} z>vkQCdb>Qn-`y9c-)ZtaydfJbxnolveK;%LLHY>?IVZv<$M}L93RSsTlwbhQvj|}l zU?p=nE9;jWt|5(}Tq*@D%BQfDi#42)53&-IcprWn_J=1wic6^%%Za^^U$k;%FjvT~ zr-~HLf3oXH4Ra(ro<3FFt`>y(GW6mAXxZ2k1a z+|*+I;?$zD%w!;=C_g*9Qm>%$7E69!YH<+{P!Gsi#USGw81Arew0kvqbriMu-C^PE zP;K=o0tJpHQxO}G0;?|K1hGJ(MchE*7Kcr4eoARhs$CH;kPGrkF^KVjnURt4HUsx( KCMHHfuyO#p(n4(j diff --git a/services/gg.py b/services/gg.py index d26d8bb..f5bbca2 100644 --- a/services/gg.py +++ b/services/gg.py @@ -128,7 +128,92 @@ def last_sales(top=10, group=False): return r.json() -print(last_sales()) +# print(last_sales()) + +def get_messages(id_i, id_from=None, id_to=None, newer=None, count=50): + token = load_token() + + if not token: + token = get_token() + + url = "https://seller.ggsel.com/api_sellers/api/debates/v2" + + headers = { + "Accept": "application/json" + } + + params = { + "token": token, + "id_i": id_i, + "count": min(count, 100) + } + + if id_from: + params["id_from"] = id_from + + if id_to: + params["id_to"] = id_to + + if newer: + params["newer"] = newer + + r = requests.get(url, params=params, headers=headers) + print(r.status_code) + + # если токен умер + if r.status_code in (401, 403): + token = get_token() + params["token"] = token + r = requests.get(url, params=params, headers=headers) + + return r.json() + + +# пример +print(get_messages(id_i=18840912)) + + +def get_chats(page=1, pagesize=20, filter_new=None, email=None, id_ds=None): + token = load_token() + + if not token: + token = get_token() + + url = "https://seller.ggsel.com/api_sellers/api/debates/v2/chats" + + headers = { + "Accept": "application/json" + } + + params = { + "token": token, + "page": page, + "pagesize": pagesize + } + + if filter_new is not None: + params["filter_new"] = filter_new + + if email: + params["email"] = email + + if id_ds: + params["id_ds"] = id_ds + + r = requests.get(url, params=params, headers=headers) + print(r.status_code) + + # если токен умер + if r.status_code in (401, 403): + token = get_token() + params["token"] = token + r = requests.get(url, params=params, headers=headers) + + return r.json() + + +# пример +# print(get_chats()) # def tokens(): # timestamp = str(int(time.time())) diff --git a/services/rokky.py b/services/rokky.py index f65c7b1..1d878d5 100644 --- a/services/rokky.py +++ b/services/rokky.py @@ -47,17 +47,17 @@ def decrypt_file(input_file, output_file, password): decrypt_file( - "./files/products.json.gz.enc", - "./files/products.json.gz", + "./files/prices.json.gz.enc", + "./files/prices.json.gz", password ) def archive(): - with gzip.open("./files/products.json.gz", "rb") as f_in: - with open("./files/products.json", "wb") as f_out: + with gzip.open("./files/prices.json.gz", "rb") as f_in: + with open("./files/prices.json", "wb") as f_out: shutil.copyfileobj(f_in, f_out) archive() -with open("./files/products.json", "r", encoding="utf-8") as f: +with open("./files/prices.json", "r", encoding="utf-8") as f: products = json.load(f) def get_title(product, lang="RU"): @@ -152,5 +152,5 @@ def update_prices(conn): conn.commit() - +# add_product() update_prices(conn) \ No newline at end of file