initial commit

This commit is contained in:
VineFeeder
2025-08-26 10:52:24 +01:00
parent 1034a6c18c
commit 7fd9ddac63
4 changed files with 16 additions and 26 deletions
+9 -4
View File
@@ -1,6 +1,6 @@
**TwinVine** **TwinVine**
**Beta in testing** . **Beta** .
![TwinVine GUI](https://github.com/vinefeeder/TwinVine/blob/main/images/vinefeederA.png) ![TwinVine GUI](https://github.com/vinefeeder/TwinVine/blob/main/images/vinefeederA.png)
@@ -27,7 +27,7 @@ uv run vinfeeder - to open the interactive GUI for search, browse, etc.
Uv is the package manager and loads both VineFeeder and Envied together. Envied runs independenly or may be called by Vinefeeder. Uv is the package manager and loads both VineFeeder and Envied together. Envied runs independenly or may be called by Vinefeeder.
If you do not alrealy have uv as a python package intall it first using pip If you do not alrealy have uv as a python package install it first, using pip -
``` ```
pip install uv pip install uv
@@ -36,7 +36,7 @@ or
python3 -m pip install uv python3 -m pip install uv
``` ```
Then install TwinVine the following installs the latest version directly from the GitHub repository: Then install TwinVine; the following installs the latest version directly from the GitHub repository:
```shell ```shell
git clone https://github.com/vinefeeder/TwinVine.git git clone https://github.com/vinefeeder/TwinVine.git
@@ -55,7 +55,12 @@ cp packages/envied/src/envied/envied-working-example.yaml packages/envied/src/en
``` ```
This ensures you have your own working copy of envied.yaml. It may be edited and will not be over-written during any updates. This ensures you have your own working copy of envied.yaml. It may be edited and will not be over-written during any updates.
That's it; uv run vinfeeder to get started! That's it; uv run vinfeeder to get started!
**Linux**
Linux systems are known to screen freeze after envied has finished a download.
The top level vinfeeder config file at TwinVine/packages/vinefeeder/src/vinefeeder/config.yaml should have TERMINAL_RESET: True set.
**Services** **Services**
@@ -40,12 +40,11 @@ class BaseLoader:
myconfig, _ = load_config_with_fallback() myconfig, _ = load_config_with_fallback()
self.BATCH_DOWNLOAD = myconfig['BATCH_DOWNLOAD'] self.BATCH_DOWNLOAD = myconfig['BATCH_DOWNLOAD']
#self.DOWNLOAD_ORCHESTRATOR = myconfig['DOWNLOAD_ORCHESTRATOR']
self.TERMINAL_RESET = myconfig['TERMINAL_RESET'] self.TERMINAL_RESET = myconfig['TERMINAL_RESET']
def reset_terminal(self): def reset_terminal(self):
if self.DOWNLOAD_ORCHESTRATOR == "envied" and not self.BATCH_DOWNLOAD: if not self.BATCH_DOWNLOAD:
if os.name == 'nt': # Windows if os.name == 'nt': # Windows
os.system('cls') os.system('cls')
# Optionally, reinitialize ANSI or console buffer here if needed # Optionally, reinitialize ANSI or console buffer here if needed
@@ -406,16 +405,12 @@ class BaseLoader:
def clean_terminal(self): def clean_terminal(self):
# clear for next use # clear for next use
time.sleep(1) time.sleep(1)
if self.TERMINAL_RESET: if self.TERMINAL_RESET:
console.print(f"[{catppuccin_mocha['text2']}]Preparing to reset Terminal[/]")
time.sleep(5)
self.reset_terminal() self.reset_terminal()
'''if os.name == "posix":
# os.system('clear')
print("Ready!")
return
else:
reset_terminal()
print("Ready!")
return'''
console.print(f"[{catppuccin_mocha['pink']}]Ready![/]") console.print(f"[{catppuccin_mocha['pink']}]Ready![/]")
def runsubprocess(self, command): def runsubprocess(self, command):
@@ -1,6 +1,5 @@
BATCH_DOWNLOAD: False BATCH_DOWNLOAD: False
DOWNLOAD_ORCHESTRATOR: envied
# Set to True if up/down cursor arrows stop working in the # Set to True if up/down cursor arrows stop working in the
# Terminal window after unschackle has downloaded. # Terminal window after envied has downloaded.
TERMINAL_RESET: False TERMINAL_RESET: False
@@ -1,9 +0,0 @@
beaupy
click
httpx
jmespath
PyQt6
PyQt6_sip
PyYAML
rich
Scrapy