added http auth and upload functions

This commit is contained in:
Luxferre
2025-12-25 15:51:04 +02:00
parent 1d3b5f99f5
commit c8e908d07b
3 changed files with 6 additions and 5 deletions
+1 -1
View File
@@ -160,7 +160,7 @@ Exports the following functions:
- `http_fetch(url, useragent=None, hdrs={})`: fetch text content from a URL into a string (returns `(status_code, content)` tuple) - `http_fetch(url, useragent=None, hdrs={})`: fetch text content from a URL into a string (returns `(status_code, content)` tuple)
- `auth_header(username, password)`: get an dictionary fragment with the corresponding HTTP Basic Auth header according to the username and password - `auth_header(username, password)`: get an dictionary fragment with the corresponding HTTP Basic Auth header according to the username and password
- `wget(url, filename='', useragent=None, hdrs={})`: download a file into a local path (returns `(status_code, filename)` tuple) - `wget(url, filename='', useragent=None, hdrs={})`: download a file into a local path (returns `(status_code, filename)` tuple)
- `wput(url, file_path, field_name="file", method="POST", format="x-www-form-urlencoded", headers=None)`: upload a file from a local path in the `x-www-form-urlencoded` or JSON format (returns `(status_code, content)` tuple) - `wput(url, file_path, field_name="file", method="POST", format="x-www-form-urlencoded", headers={}, useragent=None)`: upload a file from a local path in the `x-www-form-urlencoded` or JSON format (returns `(status_code, content)` tuple)
### `deck.llm` ### `deck.llm`
+4 -3
View File
@@ -54,10 +54,11 @@ def wget(url, filename='', useragent=None, hdrs={}):
else: filename = '' else: filename = ''
return (r.status_code, filename) return (r.status_code, filename)
def wput(url, file_path, field_name="file", method="POST", format="x-www-form-urlencoded", headers=None): def wput(url, file_path, field_name="file", method="POST", format="x-www-form-urlencoded", headers={}, useragent=None):
"""Upload a file""" """Upload a file"""
if headers is None: if useragent is None:
headers = {} useragent = DEFAULT_UA
headers['User-Agent'] = useragent
method = method.upper() method = method.upper()
try: try:
with open(file_path, "rb") as f: with open(file_path, "rb") as f:
+1 -1
View File
@@ -9,7 +9,7 @@ from deck.input import input, input_multi
from deck.pager import print_paged, term_size from deck.pager import print_paged, term_size
from deck.time import * from deck.time import *
from deck.hwinfo import board_id, battery_v, cpu_f, REAL_HW from deck.hwinfo import board_id, battery_v, cpu_f, REAL_HW
from deck.http import wget, http_fetch, http_set_ua from deck.http import wget, wput, http_fetch, http_set_ua, auth_header
from deck import xlat from deck import xlat
from app.ed import edit, view from app.ed import edit, view
try: try: