Skip to content

Commit

Permalink
v0.3.2
Browse files Browse the repository at this point in the history
  • Loading branch information
neroist committed Jul 21, 2021
1 parent 42a5eaf commit ba91fce
Show file tree
Hide file tree
Showing 8 changed files with 116 additions and 50 deletions.
Binary file added icons/letterx_83737 (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added icons/x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
61 changes: 39 additions & 22 deletions modules/conversions.py
Original file line number Diff line number Diff line change
@@ -1,38 +1,55 @@
import base64
import hashlib
from urllib.parse import quote, unquote
import unicodedata


msg_encoding = "ascii"

def b85encode(message): return base64.b85encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b85decode(message): return base64.b85decode(message.encode(msg_encoding)).decode(msg_encoding, errors='replace')
def b85encode(message: str) -> str:
return base64.b85encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b85decode(message: str) -> str:
return base64.b85decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')

def b64encode(message): return base64.b64encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b64decode(message): return base64.b64decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b64encode(message: str) -> str:
return base64.b64encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b64decode(message: str) -> str:
return base64.b64decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')

def b32encode(message): return base64.b32encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b32decode(message): return base64.b32decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b32encode(message: str) -> str:
return base64.b32encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b32decode(message: str) -> str:
return base64.b32decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')

def b16encode(message): return base64.b16encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b16decode(message): return base64.b16decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b16encode(message: str) -> str:
return base64.b16encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def b16decode(message: str) -> str:
return base64.b16decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')

def a85encode(message): return base64.a85encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def a85decode(message): return base64.a85decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def a85encode(message: str) -> str:
return base64.a85encode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')
def a85decode(message: str) -> str:
return base64.a85decode(message.encode(msg_encoding, errors='replace')).decode(msg_encoding, errors='replace')


# other stuff
def urlencode(message): return quote(message)
def urldecode(message): return unquote(message)

def md5encode(message): return str(hashlib.md5(message.encode()).hexdigest())

def sha1encode(message): return str(hashlib.sha1(message.encode()).hexdigest())
def sha224encode(message): return str(hashlib.sha224(message.encode()).hexdigest())
def sha384encode(message): return str(hashlib.sha384(message.encode()).hexdigest())
def sha256encode(message): return str(hashlib.sha256(message.encode()).hexdigest())
def sha512encode(message): return str(hashlib.sha512(message.encode()).hexdigest())
def urlencode(message: str) -> str:
return quote(message)
def urldecode(message: str) -> str:
return unquote(message)

def md5encode(message: str) -> str:
return str(hashlib.md5(message.encode()).hexdigest())

def sha1encode(message: str) -> str:
return str(hashlib.sha1(message.encode()).hexdigest())
def sha224encode(message: str) -> str:
return str(hashlib.sha224(message.encode()).hexdigest())
def sha256encode(message: str) -> str:
return str(hashlib.sha256(message.encode()).hexdigest())
def sha384encode(message: str) -> str:
return str(hashlib.sha384(message.encode()).hexdigest())
def sha512encode(message: str) -> str:
return str(hashlib.sha512(message.encode()).hexdigest())


encodings = {
Expand All @@ -48,7 +65,7 @@ def sha512encode(message): return str(hashlib.sha512(message.encode()).hexdigest
"sha512": sha512encode,
"sha224": sha224encode,
"sha384": sha384encode
} # added 2 new encrytion methods
}

supported_encodings = tuple(encodings.keys())

Expand Down
10 changes: 2 additions & 8 deletions modules/dialogs/about.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
import requests
import base64
import markdown as md

from PyQt5.QtWidgets import QDialog, QVBoxLayout, QPushButton
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl, Qt
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QDialog
from PyQt5.QtCore import Qt

class AboutDialog(QDialog):
def __init__(self, parent=None):
Expand Down
2 changes: 1 addition & 1 deletion modules/dialogs/submodules/customwebenginepage.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from https://www.pythonguis.com/faq/qwebengineview-open-links-new-window/
"""

from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtGui import QDesktopServices

class CustomWebEnginePage(QWebEnginePage):
Expand Down
36 changes: 19 additions & 17 deletions modules/dialogs/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def __init__(self, inputWidget: QWidget, parent=None):
self.setMinimumSize(225, 100)
self.setMaximumSize(500, 100)

self.inputwidget = inputWidget
self.input_widget = inputWidget

layout = QVBoxLayout(self)

Expand Down Expand Up @@ -56,64 +56,66 @@ def test_url(self, url: str):
get = requests.get(url)
get.raise_for_status()

except ConnectionError as err:
a = QMessageBox.critical(
except ConnectionError:
QMessageBox.critical(
self,
"Connection Error",
"There was an error connecting to the URL/URN provided.",
"There was an error connecting to the website URL/URN provided.",
QMessageBox.Ok
)

return None
return

except InvalidURL:
a = QMessageBox.critical(
QMessageBox.critical(
self,
"Invalid URL/URN",
"The URL or URN provided was invalid.",
"The website URL or URN provided was invalid.",
QMessageBox.Ok
)

return None
return

except MissingSchema as err:
a = QMessageBox.critical(
QMessageBox.critical(
self,
"Missing Schema",
err.__doc__,
QMessageBox.Ok
)

return None
return

except InvalidSchema as err:
a = QMessageBox.critical(
except InvalidSchema:
QMessageBox.critical(
self,
"Invalid Schema",
f"The \"website\" {self.website.text} has an invalid schema.",
QMessageBox.Ok
)

return None
return

except HTTPError as err:
a = QMessageBox.critical(
QMessageBox.critical(
self,
"HTTP Error",
f"{err.__doc__}\n{str(err)}",
QMessageBox.Ok
)

return None
return

except Exception as err:
a = QMessageBox.critical(
QMessageBox.critical(
self,
"Error",
err.__doc__,
QMessageBox.Ok
)

return

return get.text

def set_text(self):
Expand All @@ -127,7 +129,7 @@ def set_text(self):
if txt is None:
return
else:
self.inputwidget.appendPlainText(txt)
self.input_widget.appendPlainText(txt)
self.accept()

# supports urns as well as urls
Expand Down
53 changes: 53 additions & 0 deletions modules/html/credits.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
* {
font-family: "Segoe UI";
color: lightgrey;
}

hr {
color: silver;
}

body {
background-color: #323232;
}

a {
position: relative;
color: rgb(160, 100, 222); /*0 98 255*/
text-decoration: none;
}

a:visited {
color: rgb(200, 100, 222);
}

a:visited::before {
background-color: rgb(200, 100, 222);
}

/*
the following is from https://tobiasahlin.com/blog/css-trick-animating-link-underlines
*/

a::before{
content: "";
position: absolute;
display: block;
width: 100%;
height: 2px;
bottom: 0;
left: 0;
background-color: rgb(160, 100, 222);
transform: scaleX(0);
transition: transform 0.3s ease;
}

a:hover::before {
color: rgb(160, 100, 222);
text-decoration: underline;
transform: scaleX(1);
}




4 changes: 2 additions & 2 deletions modules/html/credits.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<head>
<title>Page Title</title>
<link href="style.css" rel="stylesheet">
<link href="credits.css" rel="stylesheet">
</head>

<body>
Expand Down Expand Up @@ -53,7 +53,7 @@ <h3>Style Sheets</h3>
<li>
<div>
<a href="https://github.com/sommerc/pyqt-stylesheets/blob/master/pyqtcss/src/dark_orange/style.qss">dark_orange/style.qss</a> from the <a href="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/sommerc/pyqt-stylesheets">pyqt-stylesheets github repo</a> by <a href="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/sommerc">sommerc</a>
<p>(used as <code>main.qss</code> in this application)</p>
<p>(used as <code>main.qss</code> in this application, with a few changes)</p>
<!--the code thing doesn't show up and idk why >:(-->
</div>
</li>
Expand Down

0 comments on commit ba91fce

Please sign in to comment.