summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2024-09-17 05:11:19 +1000
committer Vas Crabb <vas@vastheman.com>2024-09-17 05:11:19 +1000
commit8cd1eac323f8b360829aed2b9f7a3b4c74a68c7f (patch)
tree59e0a12434ee1997c2f88e1980796ea4c72d0a2d /scripts
parentb5e6be944444a0fcf9b2b822b4c3babf071d0f04 (diff)
-scripts/minimaws: Removed Python 2 support.
-igs/igs027a.cpp, igs/xamcu.cpp: Slight simplification. -sony/news_r3k.cpp: Sorted #includes.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/minimaws/lib/__init__.py2
-rw-r--r--scripts/minimaws/lib/auxverbs.py2
-rw-r--r--scripts/minimaws/lib/dbaccess.py12
-rw-r--r--scripts/minimaws/lib/htmltmpl.py2
-rw-r--r--scripts/minimaws/lib/lxparse.py2
-rw-r--r--scripts/minimaws/lib/wsgiserve.py68
-rwxr-xr-xscripts/minimaws/minimaws.py2
7 files changed, 39 insertions, 51 deletions
diff --git a/scripts/minimaws/lib/__init__.py b/scripts/minimaws/lib/__init__.py
index d89cb7f81ba..a8a22f4dbfe 100644
--- a/scripts/minimaws/lib/__init__.py
+++ b/scripts/minimaws/lib/__init__.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb
diff --git a/scripts/minimaws/lib/auxverbs.py b/scripts/minimaws/lib/auxverbs.py
index 50e4dacddd3..0383331e064 100644
--- a/scripts/minimaws/lib/auxverbs.py
+++ b/scripts/minimaws/lib/auxverbs.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb
diff --git a/scripts/minimaws/lib/dbaccess.py b/scripts/minimaws/lib/dbaccess.py
index 3cfbec0c508..89cd88c7437 100644
--- a/scripts/minimaws/lib/dbaccess.py
+++ b/scripts/minimaws/lib/dbaccess.py
@@ -1,13 +1,10 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb
import sqlite3
-import sys
-
-if sys.version_info >= (3, 4):
- import urllib.request
+import urllib.request
class SchemaQueries(object):
@@ -1067,10 +1064,7 @@ class UpdateCursor(object):
class QueryConnection(object):
def __init__(self, database, **kwargs):
super(QueryConnection, self).__init__(**kwargs)
- if sys.version_info >= (3, 4):
- self.dbconn = sqlite3.connect('file:' + urllib.request.pathname2url(database) + '?mode=ro', uri=True, check_same_thread=False)
- else:
- self.dbconn = sqlite3.connect(database, check_same_thread=False)
+ self.dbconn = sqlite3.connect('file:' + urllib.request.pathname2url(database) + '?mode=ro', uri=True, check_same_thread=False)
self.dbconn.row_factory = sqlite3.Row
self.dbconn.execute('PRAGMA foreign_keys = ON')
diff --git a/scripts/minimaws/lib/htmltmpl.py b/scripts/minimaws/lib/htmltmpl.py
index 62e1bbcf1ea..c6489e27349 100644
--- a/scripts/minimaws/lib/htmltmpl.py
+++ b/scripts/minimaws/lib/htmltmpl.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb
diff --git a/scripts/minimaws/lib/lxparse.py b/scripts/minimaws/lib/lxparse.py
index e773669080d..3e462154c53 100644
--- a/scripts/minimaws/lib/lxparse.py
+++ b/scripts/minimaws/lib/lxparse.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb
diff --git a/scripts/minimaws/lib/wsgiserve.py b/scripts/minimaws/lib/wsgiserve.py
index 28afa75d1f2..98317db210e 100644
--- a/scripts/minimaws/lib/wsgiserve.py
+++ b/scripts/minimaws/lib/wsgiserve.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb
@@ -6,6 +6,7 @@
from . import dbaccess
from . import htmltmpl
+import html
import inspect
import json
import mimetypes
@@ -13,21 +14,14 @@ import os.path
import re
import sys
import urllib
+import urllib.parse
import wsgiref.util
-try:
- import html
- htmlescape = html.escape
-except ImportError:
- import cgi
- htmlescape = cgi.escape
-
-try:
- import urllib.parse as urlparse
- urlquote = urlparse.quote
-except ImportError:
- import urlparse
- urlquote = urllib.quote
+htmlescape = html.escape
+shiftpath = wsgiref.util.shift_path_info
+urljoin = urllib.parse.urljoin
+urlparsequery = urllib.parse.parse_qs
+urlquote = urllib.parse.quote
class HandlerBase(object):
@@ -72,7 +66,7 @@ class AssetHandler(HandlerBase):
def __init__(self, directory, app, application_uri, environ, start_response, **kwargs):
super(AssetHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs)
self.directory = directory
- self.asset = wsgiref.util.shift_path_info(environ)
+ self.asset = shiftpath(environ)
def __iter__(self):
if not self.asset:
@@ -109,16 +103,16 @@ class QueryPageHandler(HandlerBase):
self.dbcurs = app.dbconn.cursor()
def machine_href(self, shortname):
- return htmlescape(urlparse.urljoin(self.application_uri, 'machine/%s' % (urlquote(shortname), )), True)
+ return htmlescape(urljoin(self.application_uri, 'machine/%s' % (urlquote(shortname), )), True)
def sourcefile_href(self, sourcefile):
- return htmlescape(urlparse.urljoin(self.application_uri, 'sourcefile/%s' % (urlquote(sourcefile), )), True)
+ return htmlescape(urljoin(self.application_uri, 'sourcefile/%s' % (urlquote(sourcefile), )), True)
def softwarelist_href(self, softwarelist):
- return htmlescape(urlparse.urljoin(self.application_uri, 'softwarelist/%s' % (urlquote(softwarelist), )), True)
+ return htmlescape(urljoin(self.application_uri, 'softwarelist/%s' % (urlquote(softwarelist), )), True)
def software_href(self, softwarelist, software):
- return htmlescape(urlparse.urljoin(self.application_uri, 'softwarelist/%s/%s' % (urlquote(softwarelist), urlquote(software))), True)
+ return htmlescape(urljoin(self.application_uri, 'softwarelist/%s/%s' % (urlquote(softwarelist), urlquote(software))), True)
def bios_data(self, machine):
result = { }
@@ -198,7 +192,7 @@ class QueryPageHandler(HandlerBase):
class MachineRpcHandlerBase(QueryPageHandler):
def __init__(self, app, application_uri, environ, start_response, **kwargs):
super(MachineRpcHandlerBase, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs)
- self.shortname = wsgiref.util.shift_path_info(environ)
+ self.shortname = shiftpath(environ)
def __iter__(self):
if not self.shortname:
@@ -223,7 +217,7 @@ class MachineRpcHandlerBase(QueryPageHandler):
class MachineHandler(QueryPageHandler):
def __init__(self, app, application_uri, environ, start_response, **kwargs):
super(MachineHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs)
- self.shortname = wsgiref.util.shift_path_info(environ)
+ self.shortname = shiftpath(environ)
def __iter__(self):
if not self.shortname:
@@ -250,7 +244,7 @@ class MachineHandler(QueryPageHandler):
description = machine_info['description']
yield htmltmpl.MACHINE_PROLOGUE.substitute(
app=self.js_escape(htmlescape(self.application_uri, True)),
- assets=self.js_escape(htmlescape(urlparse.urljoin(self.application_uri, 'static'), True)),
+ assets=self.js_escape(htmlescape(urljoin(self.application_uri, 'static'), True)),
sourcehref=self.sourcefile_href(machine_info['sourcefile']),
description=htmlescape(description),
shortname=htmlescape(self.shortname),
@@ -514,7 +508,7 @@ class SourceFileHandler(QueryPageHandler):
heading = self.linked_title(pattern)
title = 'Source Files: ' + htmlescape(pattern)
yield htmltmpl.SOURCEFILE_LIST_PROLOGUE.substitute(
- assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
+ assets=htmlescape(urljoin(self.application_uri, 'static'), True),
title=title,
heading=heading).encode('utf-8')
for filename, machines in self.dbcurs.get_sourcefiles(pattern):
@@ -525,7 +519,7 @@ class SourceFileHandler(QueryPageHandler):
def sourcefile_page(self, id):
yield htmltmpl.SOURCEFILE_PROLOGUE.substitute(
- assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
+ assets=htmlescape(urljoin(self.application_uri, 'static'), True),
filename=htmlescape(self.filename),
title=self.linked_title(self.filename)).encode('utf-8')
@@ -558,13 +552,13 @@ class SourceFileHandler(QueryPageHandler):
parts = filename.split('/')
final = parts[-1]
del parts[-1]
- uri = urlparse.urljoin(self.application_uri, 'sourcefile')
+ uri = urljoin(self.application_uri, 'sourcefile')
title = ''
for part in parts:
- uri = urlparse.urljoin(uri + '/', urlquote(part))
+ uri = urljoin(uri + '/', urlquote(part))
title += '<a href="{0}">{1}</a>/'.format(htmlescape(uri, True), htmlescape(part))
if linkfinal:
- uri = urlparse.urljoin(uri + '/', urlquote(final))
+ uri = urljoin(uri + '/', urlquote(final))
return title + '<a href="{0}">{1}</a>'.format(htmlescape(uri, True), htmlescape(final))
else:
return title + final
@@ -584,8 +578,8 @@ class SourceFileHandler(QueryPageHandler):
class SoftwareListHandler(QueryPageHandler):
def __init__(self, app, application_uri, environ, start_response, **kwargs):
super(SoftwareListHandler, self).__init__(app=app, application_uri=application_uri, environ=environ, start_response=start_response, **kwargs)
- self.shortname = wsgiref.util.shift_path_info(environ)
- self.software = wsgiref.util.shift_path_info(environ)
+ self.shortname = shiftpath(environ)
+ self.software = shiftpath(environ)
def __iter__(self):
if self.environ['PATH_INFO']:
@@ -627,7 +621,7 @@ class SoftwareListHandler(QueryPageHandler):
else:
title = heading = 'Software Lists: ' + htmlescape(pattern)
yield htmltmpl.SOFTWARELIST_LIST_PROLOGUE.substitute(
- assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
+ assets=htmlescape(urljoin(self.application_uri, 'static'), True),
title=title,
heading=heading).encode('utf-8')
for shortname, description, total, supported, partiallysupported, unsupported in self.dbcurs.get_softwarelists(pattern):
@@ -649,7 +643,7 @@ class SoftwareListHandler(QueryPageHandler):
title = 'Software List: %s (%s): %s' % (htmlescape(softwarelist_info['description']), htmlescape(softwarelist_info['shortname']), htmlescape(pattern))
heading = '<a href="%s">%s</a>: %s' % (self.softwarelist_href(softwarelist_info['shortname']), htmlescape(softwarelist_info['description']), htmlescape(pattern))
yield htmltmpl.SOFTWARELIST_PROLOGUE.substitute(
- assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
+ assets=htmlescape(urljoin(self.application_uri, 'static'), True),
title=title,
heading=heading,
shortname=htmlescape(softwarelist_info['shortname']),
@@ -707,7 +701,7 @@ class SoftwareListHandler(QueryPageHandler):
def software_page(self, software_info):
yield htmltmpl.SOFTWARE_PROLOGUE.substitute(
- assets=htmlescape(urlparse.urljoin(self.application_uri, 'static'), True),
+ assets=htmlescape(urljoin(self.application_uri, 'static'), True),
title=htmlescape(software_info['description']),
heading=htmlescape(software_info['description']),
softwarelisthref=self.softwarelist_href(self.shortname),
@@ -811,7 +805,7 @@ class RomIdentHandler(QueryPageHandler):
def form_page(self):
yield htmltmpl.ROMIDENT_PAGE.substitute(
app=self.js_escape(htmlescape(self.application_uri, True)),
- assets=self.js_escape(htmlescape(urlparse.urljoin(self.application_uri, 'static'), True))).encode('utf-8')
+ assets=self.js_escape(htmlescape(urljoin(self.application_uri, 'static'), True))).encode('utf-8')
class BiosRpcHandler(MachineRpcHandlerBase):
@@ -850,7 +844,7 @@ class RomDumpsRpcHandler(QueryPageHandler):
return self.error_page(405)
else:
try:
- args = urlparse.parse_qs(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
+ args = urlparsequery(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
crc = args.get('crc')
sha1 = args.get('sha1')
if (len(args) == 2) and (crc is not None) and (len(crc) == 1) and (sha1 is not None) and (len(sha1) == 1):
@@ -907,7 +901,7 @@ class DiskDumpsRpcHandler(QueryPageHandler):
return self.error_page(405)
else:
try:
- args = urlparse.parse_qs(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
+ args = urlparsequery(self.environ['QUERY_STRING'], keep_blank_values=True, strict_parsing=True)
sha1 = args.get('sha1')
if (len(args) == 1) and (sha1 is not None) and (len(sha1) == 1):
sha1 = sha1[0]
@@ -970,7 +964,7 @@ class MiniMawsApp(object):
application_uri = wsgiref.util.application_uri(environ)
if application_uri[-1] != '/':
application_uri += '/'
- module = wsgiref.util.shift_path_info(environ)
+ module = shiftpath(environ)
if module == 'machine':
return MachineHandler(self, application_uri, environ, start_response)
elif module == 'sourcefile':
@@ -982,7 +976,7 @@ class MiniMawsApp(object):
elif module == 'static':
return AssetHandler(self.assetsdir, self, application_uri, environ, start_response)
elif module == 'rpc':
- service = wsgiref.util.shift_path_info(environ)
+ service = shiftpath(environ)
if not service:
return ErrorPageHandler(403, self, application_uri, environ, start_response)
elif service in self.RPC_SERVICES:
diff --git a/scripts/minimaws/minimaws.py b/scripts/minimaws/minimaws.py
index 2d91cdcf1a8..72e1803ed8e 100755
--- a/scripts/minimaws/minimaws.py
+++ b/scripts/minimaws/minimaws.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
##
## license:BSD-3-Clause
## copyright-holders:Vas Crabb