more links to originals in inspirations
This commit is contained in:
parent
b1fc6617f8
commit
469f9fa690
@ -4,9 +4,10 @@ Maintenance of inspirations.md and synchronization with the inspirations in the
|
|||||||
|
|
||||||
import time
|
import time
|
||||||
from utils import constants as c, utils, osg, osg_ui
|
from utils import constants as c, utils, osg, osg_ui
|
||||||
|
from utils import osg_wikipedia
|
||||||
|
|
||||||
|
|
||||||
def duplicate_check():
|
def check_for_duplicates():
|
||||||
"""
|
"""
|
||||||
|
|
||||||
:param inspirations:
|
:param inspirations:
|
||||||
@ -16,23 +17,10 @@ def duplicate_check():
|
|||||||
inspiration_names = [x['name'] for x in inspirations]
|
inspiration_names = [x['name'] for x in inspirations]
|
||||||
for index, name in enumerate(inspiration_names):
|
for index, name in enumerate(inspiration_names):
|
||||||
for other_name in inspiration_names[index+1:]:
|
for other_name in inspiration_names[index+1:]:
|
||||||
if osg.name_similarity(name, other_name) > similarity_threshold:
|
if osg.name_similarity(name, other_name) > 0.8:
|
||||||
print(' {} - {} is similar'.format(name, other_name))
|
print(' {} - {} is similar'.format(name, other_name))
|
||||||
|
|
||||||
|
def test():
|
||||||
if __name__ == "__main__":
|
|
||||||
|
|
||||||
similarity_threshold = 0.8
|
|
||||||
|
|
||||||
# load inspirations
|
|
||||||
inspirations = osg.read_inspirations_info()
|
|
||||||
print('{} inspirations in the inspirations database'.format(len(inspirations)))
|
|
||||||
osg.write_inspirations_info(inspirations) # write again just to check integrity
|
|
||||||
|
|
||||||
#osg_ui.run_simple_button_app('Maintenance inspirations', (('Duplicate check', duplicate_check),))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# assemble info
|
# assemble info
|
||||||
t0 = time.process_time()
|
t0 = time.process_time()
|
||||||
entries = osg.read_entries()
|
entries = osg.read_entries()
|
||||||
@ -75,4 +63,32 @@ if __name__ == "__main__":
|
|||||||
print('potential removed inspiration {} from games {}'.format(name, inspirations[index]['inspired entries']))
|
print('potential removed inspiration {} from games {}'.format(name, inspirations[index]['inspired entries']))
|
||||||
similar_names = [x for x in entries_inspirations.keys() if osg.name_similarity(name, x) > 0.8]
|
similar_names = [x for x in entries_inspirations.keys() if osg.name_similarity(name, x) > 0.8]
|
||||||
if similar_names:
|
if similar_names:
|
||||||
print(' similar names {}'.format(', '.join(similar_names)))
|
print(' similar names {}'.format(', '.join(similar_names)))
|
||||||
|
|
||||||
|
|
||||||
|
def read_inspirations():
|
||||||
|
inspirations = osg.read_inspirations_info()
|
||||||
|
print('{} inspirations in the inspirations database'.format(len(inspirations)))
|
||||||
|
|
||||||
|
def write_inspirations():
|
||||||
|
osg.write_inspirations_info(inspirations)
|
||||||
|
print('inspirations written')
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
inspirations = osg.read_inspirations_info()
|
||||||
|
osg.write_inspirations_info(inspirations)
|
||||||
|
|
||||||
|
inspirations = None
|
||||||
|
entries = None
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
'Read inspirations': read_inspirations,
|
||||||
|
'Write inspirations': write_inspirations,
|
||||||
|
'Check for duplicates': check_for_duplicates,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
osg_ui.run_simple_button_app('Maintenance inspirations', actions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
pygithub
|
pygithub
|
||||||
lark-parser
|
lark-parser
|
||||||
BeautifulSoup
|
BeautifulSoup
|
||||||
|
PyQt5
|
||||||
|
wikipedia
|
@ -18,14 +18,15 @@ def run_simple_button_app(title, actions):
|
|||||||
# create single widget
|
# create single widget
|
||||||
widget = QtWidgets.QWidget()
|
widget = QtWidgets.QWidget()
|
||||||
widget.setWindowTitle(title)
|
widget.setWindowTitle(title)
|
||||||
widget.setMinimumSize(200, 400)
|
widget.setMinimumSize(200, 200)
|
||||||
|
|
||||||
# add actions
|
# add actions
|
||||||
layout = QtWidgets.QVBoxLayout(widget)
|
layout = QtWidgets.QVBoxLayout(widget)
|
||||||
for name, action in actions:
|
for name, action in actions.items():
|
||||||
button = QtWidgets.QPushButton(name)
|
button = QtWidgets.QPushButton(name)
|
||||||
button.clicked.connect(action)
|
button.clicked.connect(action)
|
||||||
layout.addWidget(button)
|
layout.addWidget(button)
|
||||||
|
layout.addStretch()
|
||||||
|
|
||||||
# execute app
|
# execute app
|
||||||
widget.show()
|
widget.show()
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
# aquastax
|
# aquastax
|
||||||
|
|
||||||
- Home: https://github.com/LongSteve/aquastax
|
- Home: https://github.com/LongSteve/aquastax
|
||||||
- Inspirations: AquaStax
|
- Inspirations: Aquastax
|
||||||
- State: beta
|
- State: beta
|
||||||
- Keywords: puzzle, remake
|
- Keywords: puzzle, remake
|
||||||
- Code repository: https://github.com/LongSteve/aquastax.git
|
- Code repository: https://github.com/LongSteve/aquastax.git
|
||||||
- Code language: JavaScript
|
- Code language: JavaScript
|
||||||
- Code license: MIT
|
- Code license: MIT
|
||||||
|
|
||||||
Remake of AquaStax, the 2007 mobile puzzle game.
|
Remake of Aquastax, the 2007 mobile puzzle game.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Deathchase 3D
|
# Deathchase 3D
|
||||||
|
|
||||||
- Home: https://web.archive.org/web/20070711231311/http://www.robsons.org.uk/archive/www.autismuk.freeserve.co.uk/index.htm
|
- Home: https://web.archive.org/web/20070711231311/http://www.robsons.org.uk/archive/www.autismuk.freeserve.co.uk/index.htm
|
||||||
- Inspirations: 3D Deathchase
|
- Inspirations: Deathchase
|
||||||
- State: mature, inactive since 2002
|
- State: mature, inactive since 2002
|
||||||
- Keywords: remake, shooter
|
- Keywords: remake, shooter
|
||||||
- Code repository: https://gitlab.com/osgames/deathchase3d.git (import of source release at https://web.archive.org/web/20140918142844/http://www.robsons.org.uk/archive/www.autismuk.freeserve.co.uk/deathchase3d-0.9.tar.gz)
|
- Code repository: https://gitlab.com/osgames/deathchase3d.git (import of source release at https://web.archive.org/web/20140918142844/http://www.robsons.org.uk/archive/www.autismuk.freeserve.co.uk/deathchase3d-0.9.tar.gz)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
- Home: http://unknown-horizons.org/, https://sourceforge.net/projects/unknownhorizons/
|
- Home: http://unknown-horizons.org/, https://sourceforge.net/projects/unknownhorizons/
|
||||||
- Media: https://en.wikipedia.org/wiki/Unknown_Horizons
|
- Media: https://en.wikipedia.org/wiki/Unknown_Horizons
|
||||||
- Inspirations: Anno series
|
- Inspirations: Anno (series)
|
||||||
- State: beta
|
- State: beta
|
||||||
- Download: http://unknown-horizons.org/downloads/
|
- Download: http://unknown-horizons.org/downloads/
|
||||||
- Keywords: strategy, clone, turn-based
|
- Keywords: strategy, clone, turn-based
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
|
|
||||||
- Inspired entries: Klooni 1010!
|
- Inspired entries: Klooni 1010!
|
||||||
|
|
||||||
## 3D Deathchase [1]
|
|
||||||
|
|
||||||
- Inspired entries: Deathchase 3D
|
|
||||||
|
|
||||||
## A-Train [1]
|
## A-Train [1]
|
||||||
|
|
||||||
- Inspired entries: FreeTrain
|
- Inspired entries: FreeTrain
|
||||||
@ -21,50 +17,62 @@
|
|||||||
## Ace Combat: Assault Horizon [1]
|
## Ace Combat: Assault Horizon [1]
|
||||||
|
|
||||||
- Inspired entries: Open Horizon
|
- Inspired entries: Open Horizon
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Ace_Combat:_Assault_Horizon
|
||||||
|
|
||||||
## Ace of Spades [2]
|
## Ace of Spades [2]
|
||||||
|
|
||||||
- Inspired entries: Iceball, OpenSpades
|
- Inspired entries: Iceball, OpenSpades
|
||||||
|
- Media: <https://en.wikipedia.org/wiki/Ace_of_Spades_(video_game)>
|
||||||
|
|
||||||
## Achtung, die Kurve! [4]
|
## Achtung, die Kurve! [4]
|
||||||
|
|
||||||
- Inspired entries: "Achtung, die Kurve!", Netacka, Zatacka, Zatacka X
|
- Inspired entries: "Achtung, die Kurve!", Netacka, Zatacka, Zatacka X
|
||||||
|
- Media: "https://en.wikipedia.org/wiki/Achtung,_die_Kurve!"
|
||||||
|
|
||||||
## Advance Wars [1]
|
## Advance Wars [1]
|
||||||
|
|
||||||
- Inspired entries: Tanks of Freedom
|
- Inspired entries: Tanks of Freedom
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Advance_Wars
|
||||||
|
|
||||||
## Age of Empires [2]
|
## Age of Empires [2]
|
||||||
|
|
||||||
- Inspired entries: 0 A.D., openage
|
- Inspired entries: 0 A.D., openage
|
||||||
|
- Media: <https://en.wikipedia.org/wiki/Age_of_Empires_(video_game)>
|
||||||
|
|
||||||
## Age of Empires II [2]
|
## Age of Empires II [2]
|
||||||
|
|
||||||
- Inspired entries: freeaoe, openage
|
- Inspired entries: freeaoe, openage
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Age_of_Empires_II
|
||||||
|
|
||||||
## Akalabeth: World of Doom [1]
|
## Akalabeth: World of Doom [1]
|
||||||
|
|
||||||
- Inspired entries: Aklabeth
|
- Inspired entries: Aklabeth
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Akalabeth:_World_of_Doom
|
||||||
|
|
||||||
## Allegiance [1]
|
## Allegiance [1]
|
||||||
|
|
||||||
- Inspired entries: Free Allegiance
|
- Inspired entries: Free Allegiance
|
||||||
|
- Media: <https://en.wikipedia.org/wiki/Allegiance_(video_game)>
|
||||||
|
|
||||||
## Anno series [1]
|
## Anno (series) [1]
|
||||||
|
|
||||||
- Inspired entries: Unknown Horizons
|
- Inspired entries: Unknown Horizons
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Anno_(series)
|
||||||
|
|
||||||
## Another World 2: Heart of the Alien [1]
|
## Another World 2: Heart of the Alien [1]
|
||||||
|
|
||||||
- Inspired entries: Heart of the Alien
|
- Inspired entries: Heart of the Alien
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Heart_of_the_Alien
|
||||||
|
|
||||||
## AquaStax [1]
|
## Aquastax [1]
|
||||||
|
|
||||||
- Inspired entries: aquastax
|
- Inspired entries: aquastax
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Aquastax
|
||||||
|
|
||||||
## Archon: The Light and the Dark [1]
|
## Archon: The Light and the Dark [1]
|
||||||
|
|
||||||
- Inspired entries: XArchon
|
- Inspired entries: XArchon
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Archon:_The_Light_and_the_Dark
|
||||||
|
|
||||||
## Ares [1]
|
## Ares [1]
|
||||||
|
|
||||||
@ -73,18 +81,22 @@
|
|||||||
## Arkanoid [2]
|
## Arkanoid [2]
|
||||||
|
|
||||||
- Inspired entries: Ball And Wall, PyBreak360
|
- Inspired entries: Ball And Wall, PyBreak360
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Arkanoid
|
||||||
|
|
||||||
## ARMA 2 [1]
|
## ARMA 2 [1]
|
||||||
|
|
||||||
- Inspired entries: Uebergame
|
- Inspired entries: Uebergame
|
||||||
|
- Media: https://en.wikipedia.org/wiki/ARMA_2
|
||||||
|
|
||||||
## ARMA 3 [1]
|
## ARMA 3 [1]
|
||||||
|
|
||||||
- Inspired entries: Uebergame
|
- Inspired entries: Uebergame
|
||||||
|
- Media: https://en.wikipedia.org/wiki/ARMA_3
|
||||||
|
|
||||||
## ARMA: Armed Assault [1]
|
## ARMA: Armed Assault [1]
|
||||||
|
|
||||||
- Inspired entries: Uebergame
|
- Inspired entries: Uebergame
|
||||||
|
- Media: https://en.wikipedia.org/wiki/ARMA:_Armed_Assault
|
||||||
|
|
||||||
## Armor Alley [1]
|
## Armor Alley [1]
|
||||||
|
|
||||||
@ -468,6 +480,11 @@
|
|||||||
- Inspired entries: Dreerally
|
- Inspired entries: Dreerally
|
||||||
- Media: https://en.wikipedia.org/wiki/Death_Rally
|
- Media: https://en.wikipedia.org/wiki/Death_Rally
|
||||||
|
|
||||||
|
## Deathchase [1]
|
||||||
|
|
||||||
|
- Inspired entries: Deathchase 3D
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Deathchase
|
||||||
|
|
||||||
## Defender [2]
|
## Defender [2]
|
||||||
|
|
||||||
- Inspired entries: Defendguin, Word War vi
|
- Inspired entries: Defendguin, Word War vi
|
||||||
@ -622,6 +639,7 @@
|
|||||||
## F-1 Spirit [1]
|
## F-1 Spirit [1]
|
||||||
|
|
||||||
- Inspired entries: F-1 Spirit
|
- Inspired entries: F-1 Spirit
|
||||||
|
- Media: https://en.wikipedia.org/wiki/F-1_Spirit_(series)
|
||||||
|
|
||||||
## Falcon's Eye [1]
|
## Falcon's Eye [1]
|
||||||
|
|
||||||
@ -919,6 +937,7 @@
|
|||||||
## Lemmings [5]
|
## Lemmings [5]
|
||||||
|
|
||||||
- Inspired entries: Lemmings.ts, Lemmini, Lix, Pingus, Rabbit Escape
|
- Inspired entries: Lemmings.ts, Lemmini, Lix, Pingus, Rabbit Escape
|
||||||
|
- Media: <https://en.wikipedia.org/wiki/Lemmings_(video_game)>
|
||||||
|
|
||||||
## Liero [4]
|
## Liero [4]
|
||||||
|
|
||||||
@ -1455,6 +1474,7 @@
|
|||||||
## SimCity 2000 [1]
|
## SimCity 2000 [1]
|
||||||
|
|
||||||
- Inspired entries: OpenSC2K
|
- Inspired entries: OpenSC2K
|
||||||
|
- Media: https://en.wikipedia.org/wiki/SimCity_2000
|
||||||
|
|
||||||
## Simon [1]
|
## Simon [1]
|
||||||
|
|
||||||
@ -1716,6 +1736,7 @@
|
|||||||
## Tetris [9]
|
## Tetris [9]
|
||||||
|
|
||||||
- Inspired entries: 4D-TRIS, Hextris, Just another Tetris™ clone, NullpoMino, OpenBlok, Quadrapassel, Spludlow Tetris, Tetris (in C and NCURSES), vitetris
|
- Inspired entries: 4D-TRIS, Hextris, Just another Tetris™ clone, NullpoMino, OpenBlok, Quadrapassel, Spludlow Tetris, Tetris (in C and NCURSES), vitetris
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Tetris
|
||||||
|
|
||||||
## Tetris Attack [4]
|
## Tetris Attack [4]
|
||||||
|
|
||||||
@ -1875,6 +1896,7 @@
|
|||||||
## TuxRacer [1]
|
## TuxRacer [1]
|
||||||
|
|
||||||
- Inspired entries: Extreme Tux Racer
|
- Inspired entries: Extreme Tux Racer
|
||||||
|
- Media: https://en.wikipedia.org/wiki/Tux_Racer
|
||||||
|
|
||||||
## Tyrian [2]
|
## Tyrian [2]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user