# 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.
from modules import search
def html(page, json):
# This function adds a rendering of the json into the page
free = False
if "licenses" in json and json["licenses"]:
free = True
page = page + "\n
"
try:
page = page + '\n'
except:
pass
# Name / Website link
name = json.get("names",["Unknown"])[0]
page = page + "\n" + name
page = page + "
"
# Few words about it
page = page + ""+json.get("comment","")+"
"
# Links
#
#
# Company |
# Contact |
# Country |
#
page = page + """
"""
page = page + ""
website = json.get("links",{}).get("website", "")
if free and website:
page = page + """
|
"""
git = json.get("links",{}).get("git", "")
if git:
page = page + """
|
"""
wikipedia = json.get("links",{}).get("wikipedia", "")
if wikipedia:
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",
"issues":"Anti-Features / Problems"}
for c in categories:
l = json.get(c, [])
if not l:
continue
page = page + ""
page = page +""+categories[c]+"
"
for i in l:
page = page + " "+i+"
"
page = page + " "
return page
def suggestions(page, json):
# This function will render suggestions
page = page + "
Replacements:
"
print("json request")
found = search.suggest(json)
print("json received", len(found))
for i in found:
print(i[-1].get("names",["no name"])[0], "Drawing")
free = False
if "licenses" in i[-1] and i[-1]["licenses"]:
free = True
print(i[-1].get("names", ["nothing"])[0])
if not i[0] or i[-1] == json or not free:
continue
page = page + "
"
page = html(page, i[-1])
return page
def search_widget(page):
# Adds a search bar to the page
page = page + """
"""
return page
def source_code_link(page):
# Adds a source code link
page = page + "
This website is under the GNU AGPL license.
"
page = page + """
"""
return page