From bfd9a843ef77711c80ca7760aa544588b67ae034 Mon Sep 17 00:00:00 2001 From: jyamihud Date: Fri, 15 Apr 2022 20:40:53 +0300 Subject: [PATCH] Added a favicon --- data/favicon_requests.json | 20 +++ favicon.png | Bin 0 -> 92512 bytes modules/#render.py# | 360 +++++++++++++++++++++++++++++++++++++ modules/.#render.py | 1 + server.py | 40 ++++- 5 files changed, 420 insertions(+), 1 deletion(-) create mode 100644 data/favicon_requests.json create mode 100644 favicon.png create mode 100644 modules/#render.py# create mode 120000 modules/.#render.py diff --git a/data/favicon_requests.json b/data/favicon_requests.json new file mode 100644 index 0000000..31b62eb --- /dev/null +++ b/data/favicon_requests.json @@ -0,0 +1,20 @@ +[ + 1650038528.6090891, + 1650038640.6455874, + 1650038641.8818197, + 1650038643.079802, + 1650038644.242559, + 1650038645.3251307, + 1650038646.4718275, + 1650038647.479486, + 1650038648.4314067, + 1650038649.4624548, + 1650038650.494474, + 1650043243.9023528, + 1650043460.1411445, + 1650043460.315897, + 1650043490.4135377, + 1650043958.2914546, + 1650043959.0416543, + 1650044037.8992538 +] \ No newline at end of file diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc065a304ca9ae0088894398b0e6864227a810a8 GIT binary patch literal 92512 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 A-T(jq literal 0 HcmV?d00001 diff --git a/modules/#render.py# b/modules/#render.py# new file mode 100644 index 0000000..aa08c08 --- /dev/null +++ b/modules/#render.py# @@ -0,0 +1,360 @@ +# THIS SOFTWARE IS A PART OF FREE COMPETITOR PROJECT +# THE FOLLOWING SOURCE CODE I UNDER THE GNU +# AGPL LICENSE V3 OR ANY LATER VERSION. + +# This project is not for simple users, but for +# web-masters and a like, so we are counting on +# your ability to set it up and running. + +import os +from modules import search + + +def html(page, json): + + # This function adds a rendering of the json into the page + + free = search.is_free(json) + name = json.get("names",["Unknown"])[0] + page = page + """ + + + + + """ + page = page + "\n " + page = page + "\n

" + try: + page = page + '\n [LOGO] \n' + except: + pass + + page = page + " "+ name +" \n" + page = page + "

\n
\n\n" + + page = page + """ + + + + """ + + # Few words about it + comment = json.get("comment","") + not_foss = ['open source', 'open-source'] + if "open source" or "open-source" in comment.lower(): + # Well... Here is a thing. Free Software, not open source. + where = comment.lower().find("open source") + # In case it has a slash in it. + if where == -1: + where = comment.lower().find("open-source") + ops = comment[where:where+11] + if ops: + comment = comment.replace(ops, + ""+ops+"") + page = page + "\n

\n "+comment+"\n

\n\n" + + # I want to show nothing else from if it's proprietary + issues_files = list(os.listdir("data/issues")) + if "issues" in json: + l = json.get("issues", []) + page = page +"

Anti-Features / Problems:

" + + for i in l: + if i+".html" not in issues_files: + page = page + "  "+i+"
" + else: + page = page + '
' + page = page + "  "+i+"" + issuefile = open("data/issues/"+i+".html") + page = page + "

"+issuefile.read()+"

" + page = page + "
" + if not free: + return page + + + # Links + + page = page + """ + + + """ + + page = page + """ + + + + + """ + + page = page + "" + linksfilter = {"git":"source"} + links = json.get("links", {}) + for website in links: + if website in ["icon"]: + continue + link = links[website] + page = page + """ + + + + + """ + + page = page + "
+
+ +
+
" + + page = page + """ + + + + """ + + # Details + + categories = {"generic_name":"Features", + "licenses":"License(s)", + "platforms":"Platforms", + "networks_read":"Accesses Data from", + "networks_write":"Interacts / Publishes to", + "formats_read":"Opens from File-Formats", + "formats_write":"Saves to File-Formats", + "interface":"Interface", + "languages":"Programming Languages"} + + for c in categories: + + l = json.get(c, []) + if not l: + continue + + # I want to look whether this category has a list of files + alldata = list(os.listdir("data")) + allfiles = [] + for folder in alldata: + if c.startswith(folder): + try: + allfiles = list(os.listdir("data/"+folder)) + break + except: + pass + # Count matches + matches = 0 + for i in l: + if i.startswith("*"): + matches += 1 + if matches: + matchtext = "( "+str(matches)+" )" + else: + matchtext = "" + page = page + "\n\n
" + page = page +"\n "+categories[c]+": "+matchtext+"" + + for i in l: + matchtext = "" + if i.startswith("*"): + i = i[1:] + matchtext = "    ( match ) " + if i+".html" in allfiles: + datapage = open("data/"+folder+"/"+i+".html") + page = page + """ + + + + """ + page = page + "
\n" + page = page + "     "+matchtext+i+"\n" + page = page + " \n

\n" + page = page + " " + datapage.read()+"\n" + page = page + "

\n
\n
" + else: + page = page + "\n     "+matchtext+i+"\n
\n" + page = page + """ + + +
+ +
+ + """ + + + return page + +def suggestions(page, json): + + # This function will render suggestions + + page = page + """ + + + +

Free Competitors:

+ + """ + + found = search.suggest(json) + + biggest = 0 + for i in found: + if i[0] > biggest: + biggest = i[0] + more = False + for i in found: + free = search.is_free(i[-1]) + + if not i[0] or i[-1]["names"] == json["names"] or not free: + continue + try: + frac = int(i[0]/biggest*100) + except: + frac = 0 + + if frac < 20 and not more: # Below 40% features match + page = page + """ + + + +
+
+

Problematic Competitors:

+ + """ + more = True + + page = page +""" + +
+ + + """ + + page = page + "
Suggestion score: " + str(frac) + "%" + page = html(page, i[-1]) + + if more: + page = page + "
" + return page + +def search_widget(page, address): + + # Adds a search bar to the page + + page = page + """ + + +
+ + +
+ + + + """ + #page = page.format(ADDRESS) + + return page + +def source_code_link(page): + + # Adds a source code link + + page = page + """ + + + +
+
+ +
+ +

This website is under the GNU AGPL license.

+ + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ + + + + """ + + + + return page diff --git a/modules/.#render.py b/modules/.#render.py new file mode 120000 index 0000000..95a612e --- /dev/null +++ b/modules/.#render.py @@ -0,0 +1 @@ +vcs@vcs-Lenovo-IdeaPad-S145-15IWL.3286:1650042546 \ No newline at end of file diff --git a/server.py b/server.py index 5baa7af..3a3ee83 100644 --- a/server.py +++ b/server.py @@ -13,6 +13,7 @@ from http.server import BaseHTTPRequestHandler, HTTPServer from subprocess import * import json import os +import time from modules import search from modules import render @@ -84,16 +85,21 @@ class handler(BaseHTTPRequestHandler): self.send_header('Content-type', 'text/css') elif self.path == "/ttf": self.send_header('Content-type', 'font/ttf') + elif self.path in ["/favicon.png", "/logo"]: + self.send_header('Content-type', 'image/png') else: self.send_header('Content-type', 'text/html') self.end_headers() def send(self, textin): + textin = str(textin) csstext = '' text = " \n\n" text = text + "\n" text = text + ''+csstext+'\n\n' + text = text + "\n\n" + text = text + '' text = text + "\n" text = text + '\n\n'+textin+'\n\n' @@ -117,13 +123,19 @@ class handler(BaseHTTPRequestHandler): self.start_page() self.wfile.write(text.encode("utf-8")) + + elif self.path == "/": # If the user is at the front page, let him get only the search bar - page = "



Free Competitors

" + page = """
+


+ + [LOGO] +

Free Competitors

""" page = render.search_widget(page, ADDRESS) page = page + "

Please search for any software to which you would like to find a Free Software replacement.

" page = render.source_code_link(page) @@ -155,7 +167,33 @@ class handler(BaseHTTPRequestHandler): faqfile = render.source_code_link(faqfile) self.send(faqfile) + elif "/favicon.png" == self.path: + + # I'm recording all the favicons request times to get + # a rough estimate of how many people visit when. + # It seems like the browser is visiting the site for + # the first time ( at least in a given session ) it + # asks for a 'favicon.ico'. So I store each of those + # requests time. As a timestamp. + try: + with open("data/favicon_requests.json") as json_file: + favicons = json.load(json_file) + except: + favicons = [] + favicons.append(time.time()) + with open("data/favicon_requests.json", 'w') as f: + json.dump(favicons, f, indent=4, sort_keys=True) + + icon = open("favicon.png", "rb") + icon = icon.read() + self.wfile.write(icon) + + elif "/logo" == self.path: + + icon = open("favicon.png", "rb") + icon = icon.read() + self.wfile.write(icon) elif "/search?item=" in self.path: