Skip to content

Commit

Permalink
fixed a bug introduced by github co-pilot (it's on thin ice)
Browse files Browse the repository at this point in the history
  • Loading branch information
ebenbruyns committed Jun 5, 2024
1 parent 942d6f6 commit 5d19654
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 35 deletions.
54 changes: 40 additions & 14 deletions scripts/Extensions/Dos/install_deps.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,44 @@
#!/bin/bash
if flatpak list | grep -q "io.github.dosbox-staging"; then
echo "dosbox-staging flatpak is installed"
else
flatpak --user install io.github.dosbox-staging -y
fi
function install() {
if flatpak list | grep -q "io.github.dosbox-staging"; then
echo "dosbox-staging flatpak is installed"
else
flatpak --user install io.github.dosbox-staging -y
fi

if flatpak list | grep -q "com.github.DOSBox"; then
echo "DOSBox flatpak is installed"
else
flatpak --user install flathub com.dosbox.DOSBox -y
fi
if flatpak list | grep -q "com.github.DOSBox"; then
echo "DOSBox flatpak is installed"
else
flatpak --user install flathub com.dosbox.DOSBox -y
fi

if flatpak list | grep -q "com.dosbox_x.DOSBox-X"; then
echo "DOSBox-X flatpak is installed"
else
flatpak --user install flathub com.dosbox_x.DOSBox-X -y
fi
}
function uninstall() {
if flatpak list | grep -q "io.github.dosbox-staging"; then
echo "dosbox-staging flatpak is installed, removing"
flatpak --user uninstall io.github.dosbox-staging -y
fi

if flatpak list | grep -q "com.github.DOSBox"; then
echo "DOSBox flatpak is installed, removing"
flatpak --user uninstall com.github.DOSBox -y
fi

if flatpak list | grep -q "com.dosbox_x.DOSBox-X"; then
echo "DOSBox-X flatpak is installed, removing"
flatpak --user uninstall com.dosbox_x.DOSBox-X -y
fi
}

if flatpak list | grep -q "com.dosbox_x.DOSBox-X"; then
echo "DOSBox-X flatpak is installed"
if [ "$1" == "uninstall" ]; then
echo "Uninstalling dependencies: Dos extension"
uninstall
else
flatpak --user install flathub com.dosbox_x.DOSBox-X -y
fi
echo "Installing dependencies: Dos extension"
install
fi
62 changes: 46 additions & 16 deletions scripts/Extensions/Windows/install_deps.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,51 @@
#!/bin/bash
if flatpak list | grep -q "io.github.dosbox-staging"; then
echo "dosbox-staging flatpak is installed"
else
flatpak --user install io.github.dosbox-staging -y


fi
function install() {
if flatpak list | grep -q "io.github.dosbox-staging"; then
echo "dosbox-staging flatpak is installed"
else
flatpak --user install io.github.dosbox-staging -y


fi

if flatpak list | grep -q "com.github.DOSBox"; then
echo "DOSBox flatpak is installed"
else
flatpak --user install flathub com.dosbox.DOSBox -y
fi

if flatpak list | grep -q "com.dosbox_x.DOSBox-X"; then
echo "DOSBox-X flatpak is installed"
else
flatpak --user install flathub com.dosbox_x.DOSBox-X -y
fi
}

if flatpak list | grep -q "com.github.DOSBox"; then
echo "DOSBox flatpak is installed"
else
flatpak --user install flathub com.dosbox.DOSBox -y
fi
function uninstall() {
if flatpak list | grep -q "io.github.dosbox-staging"; then
echo "dosbox-staging flatpak is installed, removing"
flatpak --user uninstall io.github.dosbox-staging -y
fi

if flatpak list | grep -q "com.github.DOSBox"; then
echo "DOSBox flatpak is installed, removing"
flatpak --user uninstall com.github.DOSBox -y
fi

if flatpak list | grep -q "com.dosbox_x.DOSBox-X"; then
echo "DOSBox-X flatpak is installed, removing"
flatpak --user uninstall com.dosbox_x.DOSBox-X -y
fi
}

if flatpak list | grep -q "com.dosbox_x.DOSBox-X"; then
echo "DOSBox-X flatpak is installed"
else
flatpak --user install flathub com.dosbox_x.DOSBox-X -y
fi



if [ "$1" == "uninstall" ]; then
echo "Uninstalling dependencies: Epic extension"
uninstall
else
echo "Installing dependencies: Epic extension"
install
fi
5 changes: 3 additions & 2 deletions scripts/shared/dosbox-conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,9 @@ def addArguments(self):

def parseArgs(self):
super().parseArgs()
self.gameSet = dosbox.Dosbox(self.args.dbfile, self.setNameConfig)
self.gameSet = dosbox.Dosbox(self.args.dbfile, setNameConfig=self.setNameConfig)
self.gameSet.create_tables()
self.gameSet.add_missing_config_sets()

def processArgs(self):
super().processArgs()
Expand Down Expand Up @@ -103,7 +104,7 @@ def processArgs(self):

def main():

dosProcessor = DosArgs("dos")
dosProcessor = DosArgs(setNameConfig="dos")
dosProcessor.parseArgs()
dosProcessor.processArgs()

Expand Down
18 changes: 15 additions & 3 deletions scripts/shared/dosbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@
import json
import urllib.parse
import dosbox
import requests
import urllib.request
import os


class Dosbox (GameSet.GameSet):
def __init__(self, db_file, storeName="", setNameConfig=None):
super().__init__(db_file, storeName, setNameConfig)


def parse_config_file(self, filepath):
try:
Expand All @@ -48,6 +51,13 @@ def parse_config_file(self, filepath):
except Exception as e:
print(f"Error parsing config file: {filepath} {e}")
return None, None
def add_missing_config_sets(self):
conn = self.get_connection()
c = conn.cursor()
c.execute("insert into config_set (ShortName, Platform) SELECT ShortName, 'dos' FROM Game WHERE ShortName NOT IN (SELECT ShortName FROM config_Set where Platform = 'dos')")

conn.commit()
conn.close()

def store_config_in_database(self, shortname, forkname, version, platform, sections, autoexec):
conn = self.get_connection()
Expand Down Expand Up @@ -259,8 +269,10 @@ def get_last_progress_update(self, file_path):
def get_file_size(self, url):
print(f"Getting size for {url}", file=sys.stderr)
if url.startswith("http"):
response = requests.head(url, allow_redirects=True)
if response.status_code == 200:
response = urllib.request.urlopen(url)

#response = urllib.request.head(url, allow_redirects=True)
if response.status == 200:
size = response.headers.get('content-length')

size = self.convert_bytes( int(size))
Expand Down

0 comments on commit 5d19654

Please sign in to comment.