additions from backlog and removals because of unclear license status that could not be resolved and a bit of gitlab statistics
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
{
|
||||
"git": [
|
||||
"git://git.blender.org/blender.git",
|
||||
"git://opensimulator.org/git/opensim",
|
||||
"http://git.pond.sub.org/empserver",
|
||||
"http://hgm.nubati.net/cgi-bin/gitweb.cgi?p=fairymax.git",
|
||||
"https://anongit.kde.org/ksudoku.git",
|
||||
@ -153,6 +152,7 @@
|
||||
"https://github.com/AnotherFoxGuy/Peragro-Tempus.git",
|
||||
"https://github.com/Anthonymcqueen21/Pygame---Alien-Invasion.git",
|
||||
"https://github.com/Anuken/Mindustry.git",
|
||||
"https://github.com/Apostolique/Apos.Gui.git",
|
||||
"https://github.com/Arantis/Meridian59_112.git",
|
||||
"https://github.com/ArmageddonGames/ZeldaClassic.git",
|
||||
"https://github.com/ArnoAnsems/CatacombGL.git",
|
||||
@ -204,8 +204,10 @@
|
||||
"https://github.com/DavidGriffith/uninvited.git",
|
||||
"https://github.com/Deceth/Battle-City.git",
|
||||
"https://github.com/DeltaEngine/DeltaEngine.git",
|
||||
"https://github.com/DemonTPx/smashbattle.git",
|
||||
"https://github.com/DethRaid/SanityEngine.git",
|
||||
"https://github.com/DigitalPulseSoftware/NazaraEngine.git",
|
||||
"https://github.com/Drasky-Vanderhoff/CommonDrops.git",
|
||||
"https://github.com/Droggelbecher/Grail.git",
|
||||
"https://github.com/Duion/Uebergame.git",
|
||||
"https://github.com/DusteDdk/SDL-Ball.git",
|
||||
@ -213,8 +215,10 @@
|
||||
"https://github.com/DusteDdk/osgg.git",
|
||||
"https://github.com/Dzierzan/OpenSA.git",
|
||||
"https://github.com/EXL/NXEngine.git",
|
||||
"https://github.com/EasyRPG/Editor.git",
|
||||
"https://github.com/EasyRPG/Player.git",
|
||||
"https://github.com/Echelon9/mechcommander2-open.git",
|
||||
"https://github.com/EliFUT/android.git",
|
||||
"https://github.com/Enigma-Game/Enigma.git",
|
||||
"https://github.com/ErikLetson/torso-ninja-2.git",
|
||||
"https://github.com/ErikLetson/torso-ninja.git",
|
||||
@ -309,6 +313,7 @@
|
||||
"https://github.com/M-HT/SR.git",
|
||||
"https://github.com/MaKiPL/OpenVIII-monogame.git",
|
||||
"https://github.com/MadDeCoDeR/Classic-RBDOOM-3-BFG.git",
|
||||
"https://github.com/MafiaHub/MafiaUnity.git",
|
||||
"https://github.com/Malvineous/xargon.git",
|
||||
"https://github.com/Marisa-Chan/UA_source.git",
|
||||
"https://github.com/Martenfur/Monofoxe.git",
|
||||
@ -348,6 +353,7 @@
|
||||
"https://github.com/OpenApoc/OpenApoc.git",
|
||||
"https://github.com/OpenArena/engine.git",
|
||||
"https://github.com/OpenDUNE/OpenDUNE.git",
|
||||
"https://github.com/OpenDiablo2/OpenDiablo2.git",
|
||||
"https://github.com/OpenDominion/OpenDominion.git",
|
||||
"https://github.com/OpenDriver2/REDRIVER2.git",
|
||||
"https://github.com/OpenDungeons/OpenDungeons.git",
|
||||
@ -569,6 +575,7 @@
|
||||
"https://github.com/bitcraft/PyTMX.git",
|
||||
"https://github.com/bitcraft/pyscroll.git",
|
||||
"https://github.com/bitfighter/bitfighter.git",
|
||||
"https://github.com/bkeys/blackshadeselite.git",
|
||||
"https://github.com/bladecoder/bladecoder-adventure-engine.git",
|
||||
"https://github.com/blakeohare/pyweek-sentientstorage.git",
|
||||
"https://github.com/blockattack/blockattack-game.git",
|
||||
@ -608,7 +615,6 @@
|
||||
"https://github.com/christopherredden/freestars.git",
|
||||
"https://github.com/chubakur/wizards-magic.git",
|
||||
"https://github.com/chubakur/wizards-magic2.git",
|
||||
"https://github.com/ciplogic/fheroes2enh.git",
|
||||
"https://github.com/citybound/citybound.git",
|
||||
"https://github.com/civctp2/civctp2.git",
|
||||
"https://github.com/cknave/kevedit.git",
|
||||
@ -625,11 +631,13 @@
|
||||
"https://github.com/commandojs/CommandoJS.git",
|
||||
"https://github.com/cortex-command-community/Cortex-Command-Community-Project-Source.git",
|
||||
"https://github.com/cping/LGame.git",
|
||||
"https://github.com/craftworkgames/MonoGame.Extended.git",
|
||||
"https://github.com/craftworkgames/infiniminer.git",
|
||||
"https://github.com/crawl/crawl.git",
|
||||
"https://github.com/crosire/reshade.git",
|
||||
"https://github.com/crossuo/crossuo.git",
|
||||
"https://github.com/crownengine/crown.git",
|
||||
"https://github.com/csinkers/ualbion.git",
|
||||
"https://github.com/cthielen/Epiar.git",
|
||||
"https://github.com/cubei/FlappyCow.git",
|
||||
"https://github.com/cubosphere/cubosphere-code.git",
|
||||
@ -647,6 +655,7 @@
|
||||
"https://github.com/danirod/jumpdontdie.git",
|
||||
"https://github.com/darklegion/tremulous.git",
|
||||
"https://github.com/davidjoffe/dave_gnukem.git",
|
||||
"https://github.com/db0/godot-card-game-framework.git",
|
||||
"https://github.com/ddevault/TrueCraft.git",
|
||||
"https://github.com/deathbeam/spooker.git",
|
||||
"https://github.com/deathbeam/yae.git",
|
||||
@ -658,6 +667,7 @@
|
||||
"https://github.com/demonixis/C3DE.git",
|
||||
"https://github.com/dftec-es/planetcon.git",
|
||||
"https://github.com/dgcor/Columns.git",
|
||||
"https://github.com/dgcor/DGEngine.core.git",
|
||||
"https://github.com/dgcor/DGEngine.git",
|
||||
"https://github.com/dgcor/Diabolika.git",
|
||||
"https://github.com/dhewm/dhewm3.git",
|
||||
@ -686,6 +696,7 @@
|
||||
"https://github.com/ebuc99/pacman.git",
|
||||
"https://github.com/ec-/Quake3e.git",
|
||||
"https://github.com/ec429/harris.git",
|
||||
"https://github.com/eduard-permyakov/permafrost-engine.git",
|
||||
"https://github.com/egoboo/egoboo.git",
|
||||
"https://github.com/egordorichev/LastTry.git",
|
||||
"https://github.com/eguneys/lose-your-marbles.git",
|
||||
@ -698,6 +709,7 @@
|
||||
"https://github.com/endless-sky/endless-sky.git",
|
||||
"https://github.com/endlesstravel/Love2dCS.git",
|
||||
"https://github.com/enduro2d/enduro2d.git",
|
||||
"https://github.com/enginmanap/limonEngine.git",
|
||||
"https://github.com/englercj/lttp.git",
|
||||
"https://github.com/enigma-dev/enigma-dev.git",
|
||||
"https://github.com/enriquesomolinos/DreeRally.git",
|
||||
@ -740,6 +752,7 @@
|
||||
"https://github.com/fynnfluegge/oreon-engine.git",
|
||||
"https://github.com/gabrielecirulli/2048.git",
|
||||
"https://github.com/game-editor/game-editor.git",
|
||||
"https://github.com/gamekit-developers/gamekit.git",
|
||||
"https://github.com/gamelab/kiwi-examples.git",
|
||||
"https://github.com/gamelab/kiwi.js.git",
|
||||
"https://github.com/gameplay3d/gameplay-deps.git",
|
||||
@ -788,6 +801,7 @@
|
||||
"https://github.com/id-Software/DOOM-iOS.git",
|
||||
"https://github.com/id-Software/DOOM.git",
|
||||
"https://github.com/idmillington/undum.git",
|
||||
"https://github.com/ihhub/fheroes2.git",
|
||||
"https://github.com/ihofmann/open-websoccer.git",
|
||||
"https://github.com/iliak/dungeoneye.git",
|
||||
"https://github.com/indyjo/Thunder-Lightning.git",
|
||||
@ -819,7 +833,6 @@
|
||||
"https://github.com/jdah/minecraft-weekend.git",
|
||||
"https://github.com/jdmclark/gorc.git",
|
||||
"https://github.com/jdmonin/JSettlers2.git",
|
||||
"https://github.com/jeff-1amstudios/OpenC1.git",
|
||||
"https://github.com/jjimenezg93/InputManager.git",
|
||||
"https://github.com/jjimenezg93/U-gine.git",
|
||||
"https://github.com/jjimenezg93/star-control2.git",
|
||||
@ -962,6 +975,7 @@
|
||||
"https://github.com/openfl/openfl.git",
|
||||
"https://github.com/openitg/openitg.git",
|
||||
"https://github.com/openlegend/core-rules.git",
|
||||
"https://github.com/opensim/opensim.git",
|
||||
"https://github.com/opensludge/opensludge.git",
|
||||
"https://github.com/opentibia/server.git",
|
||||
"https://github.com/opentibia/yatc.git",
|
||||
@ -997,6 +1011,7 @@
|
||||
"https://github.com/plaimi/q.git",
|
||||
"https://github.com/plainsightcollection/plainsightcollection.github.io.git",
|
||||
"https://github.com/platzhersh/pacman-canvas.git",
|
||||
"https://github.com/plowteam/donut.git",
|
||||
"https://github.com/pokerth/pokerth.git",
|
||||
"https://github.com/poseidn/KungFoo.git",
|
||||
"https://github.com/potomak/gist-txt.git",
|
||||
@ -1072,6 +1087,7 @@
|
||||
"https://github.com/scemino/engge.git",
|
||||
"https://github.com/scottschiller/ArmorAlley.git",
|
||||
"https://github.com/scottschiller/SURVIVOR.git",
|
||||
"https://github.com/scp-fs2open/fs2open.github.com.git",
|
||||
"https://github.com/scummvm/scummvm.git",
|
||||
"https://github.com/secretchronicles/TSC.git",
|
||||
"https://github.com/seedhartha/reone.git",
|
||||
@ -1090,7 +1106,6 @@
|
||||
"https://github.com/shlusiak/Freebloks-Android.git",
|
||||
"https://github.com/silverweed/lifish.git",
|
||||
"https://github.com/simenheg/zatackax.git",
|
||||
"https://github.com/simeonpilgrim/coab.git",
|
||||
"https://github.com/singularity/singularity.git",
|
||||
"https://github.com/sirjuddington/SLADE.git",
|
||||
"https://github.com/skoolkid/pyskool.git",
|
||||
@ -1113,6 +1128,7 @@
|
||||
"https://github.com/spypunk/tetris.git",
|
||||
"https://github.com/sromku/memory-game.git",
|
||||
"https://github.com/ss13remake/ss13remake.git",
|
||||
"https://github.com/ssenegas/kickoff.git",
|
||||
"https://github.com/steemnova/steemnova.git",
|
||||
"https://github.com/stephank/arashi-js.git",
|
||||
"https://github.com/stephank/orona.git",
|
||||
@ -1171,6 +1187,7 @@
|
||||
"https://github.com/ttyborg/erampage.git",
|
||||
"https://github.com/tube42/candymem.git",
|
||||
"https://github.com/tukkek/javelin.git",
|
||||
"https://github.com/turican0/remc2.git",
|
||||
"https://github.com/turulomio/glparchis.git",
|
||||
"https://github.com/ufo2000/ufo2000.git",
|
||||
"https://github.com/ufoai/ufoai.git",
|
||||
@ -1511,6 +1528,7 @@
|
||||
"https://repo.or.cz/pachi.git",
|
||||
"https://repo.or.cz/tennix.git",
|
||||
"https://salsa.debian.org/games-team/bloboats.git",
|
||||
"https://scm.osdn.net/gitroot/zandronum/zandronum-acc.git",
|
||||
"https://src.fedoraproject.org/rpms/blobwars.git"
|
||||
],
|
||||
"svn": [
|
||||
@ -1537,6 +1555,7 @@
|
||||
"https://svn.code.sf.net/p/foobillardplus/code",
|
||||
"https://svn.code.sf.net/p/freemars/code",
|
||||
"https://svn.code.sf.net/p/freesynd/code",
|
||||
"https://svn.code.sf.net/p/fteqw/code",
|
||||
"https://svn.code.sf.net/p/funnyboat/code",
|
||||
"https://svn.code.sf.net/p/galaxyv2/code",
|
||||
"https://svn.code.sf.net/p/gustysserpents/svn",
|
||||
@ -1564,7 +1583,6 @@
|
||||
"https://svn.code.sf.net/p/tpb3d/code",
|
||||
"https://svn.code.sf.net/p/trigger-rally/code",
|
||||
"https://svn.code.sf.net/p/ultimatestunts/code",
|
||||
"https://svn.code.sf.net/p/ultrastar/code",
|
||||
"https://svn.code.sf.net/p/vassalengine/svn",
|
||||
"https://svn.code.sf.net/p/vpinball/code",
|
||||
"https://svn.code.sf.net/p/wxlasertank/code/",
|
||||
|
@ -1,3 +1,4 @@
|
||||
http://crazycarscpc.free.fr/
|
||||
http://www.plasmapong.com/plasma-pong/plasma-pong/
|
||||
http://www.rpgtoolkit.net/
|
||||
http://www.rtsoft.com/novashell/
|
||||
@ -38,9 +39,12 @@ https://gdevelop-app.com/
|
||||
https://github.blog/2014-01-06-github-game-off-ii-winners/
|
||||
https://github.blog/2021-05-19-ludum-dare-48-staff-picks/
|
||||
https://github.com/codenamecpp/carnage3d#other-gta-12-re-implementations
|
||||
https://github.com/dtrajko/MoravaEngine
|
||||
https://github.com/jmorton06/Lumos
|
||||
https://github.com/Razakhel/RaZ
|
||||
https://github.com/samdauwe/BabylonCpp
|
||||
https://github.com/SasLuca/rayfork
|
||||
https://github.com/Zylann/godot_heightmap_plugin
|
||||
https://libregamewiki.org/Alexei:_Part_IX
|
||||
https://libregamewiki.org/CameliaGirls
|
||||
https://libregamewiki.org/Childish_Cannoneer
|
||||
@ -87,6 +91,4 @@ https://www.seul.org/~grumbel/tmp/clanlib/games.html
|
||||
https://www.tapatalk.com/groups/imperilist/
|
||||
https://www.wurfelengine.net/
|
||||
https://zdoom.org/downloads (gzdoom, lzdoom)
|
||||
https://zope.readthedocs.io/en/latest/
|
||||
https://github.com/jmorton06/Lumos
|
||||
http://crazycarscpc.free.fr/
|
||||
https://zope.readthedocs.io/en/latest/
|
@ -11,6 +11,7 @@ http://www.hard-light.net/ (Free Space Open, Knossos, Mods, https://github.com/s
|
||||
http://svn.assembla.com/svn/gdpl/ (not sure what links there and what kind of game it is, license?)
|
||||
https://web.archive.org/web/20161230103538/http://www.linuxdevcenter.com/pub/a/linux/2003/04/24/exult.html
|
||||
http://barbarian.1987.free.fr/indexEN.htm (many version, source license?)
|
||||
https://github.com/Warsow, https://www.warsow.net/ (what part of it is open source and what is not?)
|
||||
|
||||
roguelike
|
||||
|
||||
|
@ -4,7 +4,6 @@ Uses the Github API to learn more about the Github projects.
|
||||
Updates for example, the starring information.
|
||||
"""
|
||||
|
||||
# TODO remove Boost C++ developers and others libraries that aren't that interesting
|
||||
# TODO remove developers again?
|
||||
# TODo try to identify main developers (number of commits or change of lines...)
|
||||
|
||||
|
147
code/gitlab_import.py
Normal file
147
code/gitlab_import.py
Normal file
@ -0,0 +1,147 @@
|
||||
"""
|
||||
Uses the Gitlab API to learn more about the Gitlab projects.
|
||||
"""
|
||||
|
||||
import os
|
||||
import json
|
||||
from utils import constants as c, utils, osg, osg_gitlab, osg_parse
|
||||
|
||||
gl_entries_file = os.path.join(c.code_path, 'gitlab_entries.txt')
|
||||
prefix = 'https://gitlab.com/'
|
||||
|
||||
# these may give errors and should be ignored
|
||||
ignored_repos = ()
|
||||
|
||||
def collect_gitlab_entries():
|
||||
"""
|
||||
Reads the entries of the database and collects all entries with a Gitlab repository. Just for convenience to limit
|
||||
the number of entries to iterate on later.
|
||||
"""
|
||||
|
||||
# read entries
|
||||
entries = osg.read_entries()
|
||||
print('{} entries read'.format(len(entries)))
|
||||
|
||||
# loop over entries
|
||||
files = []
|
||||
for entry in entries:
|
||||
urls = [x for x in entry.get('Code repository', []) if x.startswith(prefix)]
|
||||
if urls:
|
||||
files.append(entry['File'])
|
||||
|
||||
# write to file
|
||||
print('{} entries with gitlab repos'.format(len(files)))
|
||||
utils.write_text(gl_entries_file, json.dumps(files, indent=1))
|
||||
|
||||
|
||||
def gitlab_import():
|
||||
"""
|
||||
Import various information from Gitlab repositories (like contributors) or stars for Gitlab repos
|
||||
"""
|
||||
private_properties = json.loads(utils.read_text(c.private_properties_file))
|
||||
|
||||
files = json.loads(utils.read_text(gl_entries_file))
|
||||
|
||||
all_developers = osg.read_developers()
|
||||
print(' {} developers read'.format(len(all_developers)))
|
||||
|
||||
# all exceptions that happen will be eaten (but will end the execution)
|
||||
try:
|
||||
# loop over each entry
|
||||
for index, file in enumerate(files):
|
||||
print(' process {} ({})'.format(file, index))
|
||||
|
||||
# read entry
|
||||
entry = osg.read_entry(file)
|
||||
code_repositories = entry['Code repository']
|
||||
repos = [x.value for x in code_repositories if x.startswith(prefix)]
|
||||
repos[0] += ' @add'
|
||||
repos = [x for x in repos if '@add' in x]
|
||||
repos = [x.split(' ')[0] for x in repos]
|
||||
repos = [x for x in repos if x not in ignored_repos]
|
||||
for repo in repos:
|
||||
print(' GH repo {}'.format(repo))
|
||||
|
||||
info = osg_gitlab.retrieve_repo_info(repo)
|
||||
|
||||
new_comments = []
|
||||
|
||||
# add created comment
|
||||
new_comments.append('@created {}'.format(info['created'].year))
|
||||
|
||||
# add stars
|
||||
new_comments.append('@stars {}'.format(info['stars']))
|
||||
|
||||
# add forks
|
||||
new_comments.append('@forks {}'.format(info['forks']))
|
||||
|
||||
# search for repository
|
||||
for r in code_repositories:
|
||||
if r.value.startswith(repo):
|
||||
break
|
||||
|
||||
# update comment
|
||||
comments = r.comment
|
||||
if comments:
|
||||
comments = comments.split(',')
|
||||
comments = [c.strip() for c in comments]
|
||||
comments = [c for c in comments if not c.startswith('@')] # delete old ones
|
||||
comments += new_comments
|
||||
else:
|
||||
comments = new_comments
|
||||
r.comment = ', '.join(comments)
|
||||
|
||||
# language in languages
|
||||
for language, usage in info['languages'].items():
|
||||
if language in c.known_languages and usage > 5 and language not in entry['Code language']:
|
||||
entry['Code language'].append(osg_parse.ValueWithComment(language))
|
||||
print(' added to languages: {}'.format(language))
|
||||
|
||||
entry['Code repository'] = code_repositories
|
||||
osg.write_entry(entry)
|
||||
except:
|
||||
raise
|
||||
finally:
|
||||
# shorten file list
|
||||
utils.write_text(gl_entries_file, json.dumps(files[index:], indent=1))
|
||||
|
||||
# osg.write_developers(all_developers)
|
||||
print('developers database updated')
|
||||
|
||||
|
||||
def gitlab_starring_synchronization():
|
||||
"""
|
||||
Which Gitlab repositories haven't I starred yet.
|
||||
"""
|
||||
private_properties = json.loads(utils.read_text(c.private_properties_file))
|
||||
|
||||
files = json.loads(utils.read_text(gl_entries_file))
|
||||
|
||||
# loop over each entry and collect list of repos
|
||||
all_repos = []
|
||||
for index, file in enumerate(files):
|
||||
# read entry
|
||||
entry = osg.read_entry(file)
|
||||
|
||||
# get repos
|
||||
code_repositories = entry.get('Code repository', [])
|
||||
repos = [x.value for x in code_repositories if x.startswith(prefix)]
|
||||
repos[0] += ' @add'
|
||||
repos = [x for x in repos if '@add' in x]
|
||||
repos = [x.split(' ')[0] for x in repos]
|
||||
repos = [x for x in repos if x not in ignored_repos]
|
||||
all_repos.extend(repos)
|
||||
all_repos = set(all_repos)
|
||||
print('found {} Gitlab repos'.format(len(all_repos)))
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# collect entries (run this only once)
|
||||
# collect_gitlab_entries()
|
||||
|
||||
# import information from gh
|
||||
# gitlab_import()
|
||||
|
||||
# which gitlab repos haven't I starred
|
||||
gitlab_starring_synchronization()
|
@ -21,12 +21,14 @@ BattleChess (https://sourceforge.net/projects/battlechess/): No source code foun
|
||||
Begin2 (https://sourceforge.net/projects/begin2/, https://svn.code.sf.net/p/begin2/code/): No source available
|
||||
Berserk (https://github.com/EgorOrachyov/Berserk): No license information found
|
||||
biju-game (https://github.com/fdfragoso/biju-game, http://crocidb.com/labs/biju-game/, https://github.com/CrociDB/biju-game): Very early development, No license added
|
||||
BlockOut II for Playstation Vita (https://github.com/bomblik/BlockOut_II_PSVITA): Does not target supported OS.
|
||||
Brickshooter (http://bilious.homelinux.org/~paxed/brickshooter/): Homepage offline, sources not archived on the web archive, version very low 0.0.4 (might be too early)
|
||||
Bweakfwu (https://github.com/plaimi/bweakfwu, https://secure.plaimi.net/games/bweakfwu): Very early development stage, abandoned
|
||||
BYOND (http://www.byond.com/, https://web.archive.org/web/20200223231337/http://www.byond.com/download/): Not open source (also DreamMaker, DreamSeeker). Maybe even games with DM script might be difficult to set up. Website of offline. Discontinued?
|
||||
Camelia Girls (https://web.archive.org/web/20140523011334/http://pigux.com:80/cameliagirls/): Sources not available
|
||||
Cheese Boys (http://sourceforge.net/projects/cheeseboys/, http://cheeseboys.keul.it/, https://github.com/keul/Cheese-Boys, http://www.pygame.org/project-Cheese+Boys-692-.html): Very early development, Abandoned, License unclear
|
||||
Clippers (http://sourceforge.net/projects/clippers/): No license attached to source code (will contact)
|
||||
coab (https://github.com/simeonpilgrim/coab, http://code.google.com/p/coab/): No license information found. Tried to contact the author. See issues on Github.
|
||||
Codewars (http://sourceforge.net/projects/codewars): Very early development phase (especially client)
|
||||
Complete Roll Playing Game Engine (https://sourceforge.net/projects/crpge/): Very early development, long abandoned
|
||||
Cr Editor (https://lazerbears.wixsite.com/lazerbears/cr-editor): No sources included in download, only a tool, not supported anymore
|
||||
@ -64,9 +66,11 @@ FreeFT (https://github.com/nadult/FreeFT.git): All rights reserved.
|
||||
Frogatto & Friends (https://github.com/frogatto/frogatto, https://frogatto.com/): Only artwork and configuration files for the Anura engine and this is copyrighted
|
||||
Fruit War (http://fruitwar.sourceforge.net/, https://sourceforge.net/projects/fruitwar/): Very early development, long abandoned
|
||||
Future Blocks (https://github.com/fogleman/FutureBlocks.git): Needs DosBox, simple Tetris clone (nice, but maybe too minimal)
|
||||
galacticthrone (https://code.google.com/archive/p/galacticthrone/): Not advanced enough, no license information.
|
||||
GalaxyMage (https://www.galaxymage.org/, http://gna.org/projects/tactics): No source code available anymore, not on IA nor on gna project site.
|
||||
GNOME Games (): Has been separated into individual packages. Will add them separately.
|
||||
GPSFish (https://gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/index.php?GPSFish): Too special
|
||||
Grabble (http://grabble.sourceforge.net/, https://sourceforge.net/projects/grabble/): No license information found. Tried to contact the author. See issues on Github.
|
||||
Grow (https://sourceforge.net/projects/grow/): Insufficient content
|
||||
GRUB Invaders (http://www.erikyyy.de/invaders/): Requires use of the GRUB bootloader (also not really original)
|
||||
Heroes: Rebirth (): ?
|
||||
@ -124,6 +128,7 @@ New RAW (http://sourceforge.net/projects/newraw/, http://svn.code.sf.net/p/newra
|
||||
Ninjapix (http://pyedpypers.org/pyday/?p=27): Sources lost, Homepage offline, Internet archive hasn't stored sources
|
||||
Open General (http://www.open-general.com/, https://sourceforge.net/projects/opengeneral/, https://svn.code.sf.net/p/opengeneral/code/): Proprietary license (see credits.txt)
|
||||
Open Sonic (http://opensnc.sourceforge.net/home/index.php): Commercial content, already contained in Open Surge
|
||||
OpenC1 (https://github.com/jeff-1amstudios/OpenC1): No license information found. Tried to contact the author. See issues on Github.
|
||||
OpenDeathValley (https://github.com/OpenDeathValley/OpenDeathValley.git): No instructions, no releases, no website, not much code
|
||||
OpenMB (https://github.com/cookgreen/OpenMB): Very early development stage, maybe later
|
||||
OpenOutcast (https://sourceforge.net/projects/ocmod/): Very early development, no release, short svn history, abandoned
|
||||
@ -137,12 +142,15 @@ Pico-8 (https://www.lexaloffle.com/pico-8.php): Commercial
|
||||
PKMN-FX (https://github.com/jonasdemoor/PKMN-FX.git): Code not available anymore
|
||||
Postludium (https://github.com/Pctg-x8/postludium): Very early development, no license information
|
||||
Prepare Carefully (https://github.com/edbmods/EdBPrepareCarefully.git): Mod to a commercial game
|
||||
primitivewars (https://code.google.com/archive/p/primitivewars/): Not advanced enough, no license information.
|
||||
Project Diaspora (http://pdiaspora.sourceforge.net/, https://sourceforge.net/projects/pdiaspora/): Proprietary license (see file headers)
|
||||
Project: Xenocide (https://sourceforge.net/projects/xenocide/, http://xenocide.cvs.sourceforge.net/viewvc/xenocide/): Very early development
|
||||
Promisance (https://sourceforge.net/projects/promisance/,http://promisance.sourceforge.net/): Went closed source with version >= 4.0
|
||||
pyspaceinvaders (https://github.com/map0logo/pyspaceinvaders.git): Too small
|
||||
PythonStdioGames (https://github.com/asweigart/PythonStdioGames): All rights reserved. Collection of very small games.
|
||||
PyTouhou (http://pytouhou.linkmauve.fr/,http://hg.linkmauve.fr/touhou): Sources not available anymore
|
||||
Racer (http://racer.sourceforge.net/, http://sourceforge.net/projects/racer/): Very early development, Inactive
|
||||
rawgl (https://github.com/cyxx/rawgl): All rights reserved by Gregory Montoir. No FOSS license.
|
||||
re3 (https://github.com/GTAmodding/re3): No suitable open source license (see https://github.com/GTAmodding/re3#license)
|
||||
realmforge (https://sourceforge.net/projects/realmforge/): Went commercial
|
||||
Receiver (https://github.com/David20321/7DFPS, http://www.wolfire.com/receiver): All rights reserved.
|
||||
@ -156,8 +164,10 @@ Schwertreiter (https://sourceforge.net/projects/schwertreiter/): No license info
|
||||
Scions of Darkness (): No link found.
|
||||
sCoreForge Pathfinder Character Creator (https://sourceforge.net/projects/scoreforge/): No license found
|
||||
Scoreus (https://web.archive.org/web/20120618143653/http://scoreos.org:80/about, https://code.google.com/archive/p/scoreos/, https://github.com/Lozza999/scoreos.git, https://code.google.com/archive/p/scoreos/): Source code not found
|
||||
scummgen (https://code.google.com/archive/p/scummgen/, https://github.com/sronsse/scummgen): Somewhat advanced but no license information within the download. Maybe GPL.
|
||||
Sedtris (http://uuner.doslash.org/forfun/): Obscure language for a game, not very well documented, there are so many Tetris clones out there already
|
||||
SilChess (http://eaglemode.sourceforge.net/): Depends on Eaglemode ZUI which may be a too large dependency, difficult to get the source out by itself (maybe later)
|
||||
Silent Hill 2 Enhancement (https://github.com/elishacloud/Silent-Hill-2-Enhancements, http://www.enhanced.townofsilenthill.com/SH2/): Not a game or a tool or framework, just a set of scripts for enhancing artwork. Nevertheless quite interesting and successfull.
|
||||
SIO2 (https://web.archive.org/web/20161206152621/http://sio2interactive.com/): Was open source (version 1.4 around 2009) but was not under a FOSS license (probable), couldn't get sources of 1.4
|
||||
Snipes (https://www.vogons.org/viewtopic.php?f=7&t=49073, https://github.com/Davidebyzero/Snipes.git): Not open source as in free, copyright retains with the authors
|
||||
Sokoban (https://sourceforge.net/projects/sokoban/): Proprietary license
|
||||
@ -177,14 +187,17 @@ Styx (http://retrospec.sgn.net/game/styx, http://retrospec.sgn.net/game-links.ph
|
||||
Sudoku86 (http://sudoku86.sourceforge.net/): Does only run under DOS. Not the preferred OS for this database.
|
||||
Super Mario Bros With SFML in C# (https://mario.codeplex.com/, https://mario.codeplex.com/SourceControl/latest): Codeplex cannot access archive, therefore no source, might be just a previous state of Mario Objects
|
||||
Sworsorc (https://github.com/cjeffery/sworsorc, https://svn.code.sf.net/p/alteraterra/code/): Proprietary license (copyright headers in files)
|
||||
tecbattle (https://code.google.com/archive/p/tecbattle/): Not advanced enough, no license information.
|
||||
Terra Reconstructed (https://sourceforge.net/projects/terrastrategy/, http://mori.pyco.eu/drupal): No license information, very early development, long abandoned
|
||||
Tesseract Trainer (http://www.mushware.com/): Sources lost, license unclear, very early development, long abandoned
|
||||
The Fortress (https://sourceforge.net/projects/fortress/, https://fortressgame.wordpress.com/about/): Very early development, long abandoned
|
||||
The Great Escape in C (https://github.com/dpt/The-Great-Escape-in-C): All rights reserved by David Thomas. No FOSS license.
|
||||
thromolusng (https://github.com/segfaulthunter/thromolusng.git): Very early development, not playable, no build instructions, abandoned since 2010
|
||||
TinyEngine (https://github.com/weigert/TinyEngine): Not enough game related, very small
|
||||
TinyXXXX (https://sites.google.com/view/arduino-collection/arduboy): For Arduino (unsupported platform here)
|
||||
Tranzam (http://retrospec.sgn.net/game/tranzam, http://retrospec.sgn.net/download/files/TranzAm.1.1.zip): see other retrospec.sgn.net entries, license unclear, probably not open source as we want it
|
||||
TunnelWars (http://www.ratajik.net/TunnelWars/): Platform is OS2, not interesting for us
|
||||
UltraStar (https://sourceforge.net/projects/ultrastar/): No license information found. Tried to contact the author. See issues on Github.
|
||||
Uncharted waters 2 remake (https://github.com/Jackyjjc/Uncharted-waters-2-remake.git, https://web.archive.org/web/20140504171546/http://jackyjjc.com/category/dk2-dev-journal/): Source got lost
|
||||
VegaTrek (https://sourceforge.net/projects/vegatrek/, https://svn.code.sf.net/p/vegatrek/code/): Unclear licensing, copyright of assets questionable
|
||||
Visions from the Other Side (http://www.insani.org/mukou.html): Source not available
|
||||
@ -195,6 +208,4 @@ XQuest 2 (http://www.swallowtail.org/xquest/, http://www.swallowtail.org/xquest/
|
||||
xrick (http://www.bigorno.net/xrick): No open source license/unclear license (see file README in http://www.bigorno.net/xrick/xrick-021212.zip)
|
||||
Yave (https://github.com/gan74/Yave): General graphics engine, not game centered in any way and experimental
|
||||
Yuris Revenge (https://github.com/cookgreen/Yuris-Revenge): Mod to OpenRA
|
||||
zedragon (https://github.com/charlierobson/zedragon.git): License not found, Assembly, not sure which OS is supported, no release, not much guidance
|
||||
rawgl (https://github.com/cyxx/rawgl): All rights reserved by Gregory Montoir. No FOSS license.
|
||||
The Great Escape in C (https://github.com/dpt/The-Great-Escape-in-C): All rights reserved by David Thomas. No FOSS license.
|
||||
zedragon (https://github.com/charlierobson/zedragon.git): License not found, Assembly, not sure which OS is supported, no release, not much guidance
|
@ -6,11 +6,17 @@ import re
|
||||
import requests
|
||||
from utils import osg, osg_rejected
|
||||
|
||||
AWESOME_LIST = 'https://raw.githubusercontent.com/radek-sprta/awesome-game-remakes/master/README.md'
|
||||
# Probably could fix them within the awesome lists
|
||||
IGNORED = ('2006rebotted', 'raw(gl)', 'fheroes2', 'FS2OPEN', 'Barbarian', 'Hexen II: Hammer of Thyrion')
|
||||
# TODO Probably could fix some of the ignored cases within the awesome lists (or fix the small deviations in structure)
|
||||
# TODO not all of them are awesome actually
|
||||
|
||||
matcher = re.compile(r'\[(.*)?\]\((.*?)\) - (.*)') # general structure: - [title](link) - description
|
||||
# AWESOME_LIST = 'https://raw.githubusercontent.com/radek-sprta/awesome-game-remakes/master/README.md'
|
||||
# IGNORED = ('2006rebotted', 'raw(gl)', 'fheroes2', 'FS2OPEN', 'Barbarian', 'Hexen II: Hammer of Thyrion')
|
||||
|
||||
AWESOME_LIST = 'https://raw.githubusercontent.com/leereilly/games/master/README.md'
|
||||
IGNORED = ('Warsow',)
|
||||
|
||||
# two different - signs are used sometimes
|
||||
matcher = re.compile(r'\[(.*)?\]\((.*?)\) [-– ]*(.*)') # general structure: - [title](link) - description
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@ -28,13 +34,16 @@ if __name__ == "__main__":
|
||||
for items in text:
|
||||
items = items.split('\n')
|
||||
category = items[0].strip()
|
||||
items = [item for item in items[1:] if item.startswith('-')]
|
||||
items = [item for item in items[1:] if item.startswith('- ') or item.startswith('* ')]
|
||||
for item in items:
|
||||
# print(item)
|
||||
# print(matcher.findall(item))
|
||||
matches = matcher.findall(item)[0] # we know it will be exactly one
|
||||
title = matches[0]
|
||||
url = matches[1]
|
||||
description = matches[2]
|
||||
entries.append({'Title': title, 'URL': url, 'Description': description, 'Category': category})
|
||||
print('contains {} entries'.format(len(entries)))
|
||||
|
||||
# remove those from the ignored list
|
||||
entries = [entry for entry in entries if not any(entry['Title'] == x for x in IGNORED)]
|
||||
@ -42,7 +51,7 @@ if __name__ == "__main__":
|
||||
# remove those that are in our rejected list
|
||||
rejected_titles = [x['Title'] for x in rejected]
|
||||
entries = [entry for entry in entries if entry['Title'] not in rejected_titles]
|
||||
print('after filtering for rejected entries {}'.format(len(entries)))
|
||||
print('after filtering for rejected and ignored entries {}'.format(len(entries)))
|
||||
|
||||
# a bit of statistics about this awesome list
|
||||
print('contains {} entries in {} categories'.format(len(entries), len(text)))
|
||||
@ -59,6 +68,7 @@ if __name__ == "__main__":
|
||||
print('{} entries read (osgl)'.format(len(our_entries)))
|
||||
|
||||
# go through this awesome list entries one by one and compare to our list
|
||||
index = 1
|
||||
for entry in entries:
|
||||
title = entry['Title']
|
||||
url = entry['URL']
|
||||
@ -70,7 +80,8 @@ if __name__ == "__main__":
|
||||
if title_equal or url_present:
|
||||
similar_entries.append(our_entry)
|
||||
if not similar_entries:
|
||||
print('Unknown entry "{}" {} - {} - {}'.format(entry['Title'], entry['URL'], entry['Category'], entry['Description']))
|
||||
print('Unknown entry ({}) "{}" {} - {} - {}'.format(index, entry['Title'], entry['URL'], entry['Category'], entry['Description']))
|
||||
index += 1
|
||||
|
||||
|
||||
|
||||
|
@ -485,6 +485,7 @@ def create_entry_content(entry):
|
||||
e = entry[field]
|
||||
e = ['"{}"'.format(x) if any(y in x.value for y in (',', ' (')) else x for x in e]
|
||||
e = [str(x) for x in e]
|
||||
e = list(dict.fromkeys(e)) # this removes duplicates while keeping the sorting order
|
||||
content += '- {}: {}\n'.format(field, ', '.join(e))
|
||||
content += '\n'
|
||||
|
||||
|
@ -43,6 +43,7 @@ def retrieve_repo_info(repos, token=None):
|
||||
for repo in repos:
|
||||
repo = normalize_repo_name(repo)
|
||||
try:
|
||||
# get repo
|
||||
r = g.get_repo(repo)
|
||||
except GithubException as e:
|
||||
raise RuntimeError(e) # TODO what to do if repo does not exist?
|
||||
|
41
code/utils/osg_gitlab.py
Normal file
41
code/utils/osg_gitlab.py
Normal file
@ -0,0 +1,41 @@
|
||||
"""
|
||||
Everything specific to the Gitlab API (via Python GitLab https://python-gitlab.readthedocs.io/en/stable/)
|
||||
"""
|
||||
|
||||
from dateutil import parser
|
||||
from gitlab import Gitlab
|
||||
|
||||
def normalize_repo_name(repo):
|
||||
"""
|
||||
Bring repo to style xxx/yyy
|
||||
"""
|
||||
prefix = 'https://gitlab.com/'
|
||||
if repo.startswith(prefix):
|
||||
repo = repo[len(prefix):]
|
||||
suffix = '.git'
|
||||
if repo.endswith(suffix):
|
||||
repo = repo[:-len(suffix)]
|
||||
return repo
|
||||
|
||||
|
||||
def retrieve_repo_info(repos, token=None):
|
||||
"""
|
||||
|
||||
:param repos:
|
||||
:param token:
|
||||
:return:
|
||||
"""
|
||||
single_repo = isinstance(repos, str)
|
||||
if single_repo:
|
||||
repos = (repos,)
|
||||
result = []
|
||||
gl = Gitlab('https://gitlab.com')
|
||||
for repo in repos:
|
||||
repo = normalize_repo_name(repo)
|
||||
# get project
|
||||
p = gl.projects.get(repo)
|
||||
e = {'description': p.description, 'created': parser.parse(p.created_at), 'contributors': p.repository_contributors(), 'forks': p.forks_count, 'name': p.name, 'last modified': parser.parse(p.last_activity_at), 'stars': p.star_count, 'languages': p.languages()}
|
||||
result.append(e)
|
||||
if single_repo:
|
||||
result = result[0]
|
||||
return result
|
Reference in New Issue
Block a user