some conversions of repositories to Git
This commit is contained in:
parent
b5ee111162
commit
105e0bfb3c
@ -750,7 +750,7 @@
|
||||
"<a href=\"http://dfendreloaded.sourceforge.net/Download.html\">Link</a>",
|
||||
"mature / inactive since 2015",
|
||||
"tool, frontend",
|
||||
"Pascal - GPL"
|
||||
"<a href=\"https://github.com/Trilarion/D-Fend-Reloaded.git\">Source</a> - Pascal - GPL-3.0"
|
||||
],
|
||||
[
|
||||
"DNT (<a href=\"http://dnt.dnteam.org/cgi-bin/about.py\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/dnt.md\">entry</a>)",
|
||||
@ -1334,7 +1334,7 @@
|
||||
"<a href=\"https://freedoom.github.io/download.html\">Link</a>",
|
||||
"beta / active",
|
||||
"action, engine required",
|
||||
"<a href=\"https://github.com/freedoom/freedoom.git\">Source</a> - Python - BSD"
|
||||
"<a href=\"https://github.com/freedoom/freedoom.git\">Source</a> - Not applicable - Not applicable"
|
||||
],
|
||||
[
|
||||
"FreedroidRPG (<a href=\"http://www.freedroid.org/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/freedroid.md\">entry</a>)",
|
||||
@ -2414,7 +2414,7 @@
|
||||
"<a href=\"http://www.opencity.info/en/Download.html\">Link</a>",
|
||||
"beta / active",
|
||||
"simulation",
|
||||
"<a href=\"https://svn.code.sf.net/p/opencity/code/\">Source</a> - C++ - GPL-2.0"
|
||||
"<a href=\"https://gitlab.com/osgames/opencity.git\">Source</a> - C++ - GPL-2.0"
|
||||
],
|
||||
[
|
||||
"OpenClonk (<a href=\"https://www.openclonk.org/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/openclonk.md\">entry</a>)",
|
||||
@ -2966,7 +2966,7 @@
|
||||
"",
|
||||
"mature / inactive since 2015",
|
||||
"strategy, board game",
|
||||
"<a href=\"https://svn.code.sf.net/p/scrabble/code/\">Source</a> - Pascal - GPL-3.0"
|
||||
"<a href=\"https://gitlab.com/osgames/scrabble3d.git\">Source</a> - Pascal - GPL-3.0"
|
||||
],
|
||||
[
|
||||
"Scrolling Game Development Kit 2 (<a href=\"http://sgdk2.sourceforge.net/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/scrolling_game_development_kit_2.md\">entry</a>)",
|
||||
@ -2998,7 +2998,7 @@
|
||||
"<a href=\"https://sourceforge.net/projects/sengdokuwsj/files\">Link</a>",
|
||||
"beta / inactive since 2008",
|
||||
"strategy",
|
||||
"C++, Lua - MIT"
|
||||
"<a href=\"https://gitlab.com/osgames/sengoku.git\">Source</a> - C++, Lua - MIT"
|
||||
],
|
||||
[
|
||||
"Sentient Storage (<a href=\"https://pyweek.org/e/np8g/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/sentient_storage.md\">entry</a>)",
|
||||
@ -3534,7 +3534,7 @@
|
||||
"<a href=\"https://sourceforge.net/projects/tumiki/files/tumiki/\">Link</a>",
|
||||
"mature / inactive since 2005",
|
||||
"action, shooter",
|
||||
"D - 2-clause BSD"
|
||||
"<a href=\"https://gitlab.com/osgames/tumiki.git\">Source</a> - D, C++ - 2-clause BSD"
|
||||
],
|
||||
[
|
||||
"Turious (<a href=\"https://gitorious.org/turious/turious/\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/turious.md\">entry</a>)",
|
||||
@ -3878,7 +3878,7 @@
|
||||
"<a href=\"https://sourceforge.net/projects/xpilotgame/files/\">Link</a>",
|
||||
"mature / inactive since 2010",
|
||||
"action, space",
|
||||
"<a href=\"http://hg.code.sf.net/p/xpilotgame/xpilotgame\">Source</a> - C - GPL-2.0"
|
||||
"<a href=\"http://hg.code.sf.net/p/xpilotgame/www.xpilot.org\">Source</a> - C - GPL-2.0"
|
||||
],
|
||||
[
|
||||
"XSera (<a href=\"https://github.com/prophile/xsera\">home</a>, <a href=\"https://github.com/Trilarion/opensourcegames/blob/master/games/xsera.md\">entry</a>)",
|
||||
|
@ -22,7 +22,7 @@
|
||||
- **[Chromium B.S.U.](chromium_bsu.md)** (C++, Artistic License, mature)
|
||||
- **[CommandoJS](commando_js.md)** (JavaScript, CoffeeScript, MIT, beta, inactive since 2012)
|
||||
- **[Epiar](epiar.md)** (C, C++, Lua, GPL-2.0, beta)
|
||||
- **[Freedoom](freedoom.md)** (Python, BSD, beta)
|
||||
- **[Freedoom](freedoom.md)** (Not applicable, Not applicable, beta)
|
||||
- **[GDash](gdash.md)** (C++, MIT, beta)
|
||||
- **[GLtron](gltron.md)** (C, GPL, beta, inactive since 2016)
|
||||
- **[GPL Arcade Volleyball](gpl_arcade_volleyball.md)** (C++, GPL-2.0, beta, inactive since 2006)
|
||||
@ -61,7 +61,7 @@
|
||||
- **[SuperTuxKart](supertuxkart.md)** (C++, C, GPL-3.0, mature)
|
||||
- **[The Legend of Edgar](the_legend_of_edgar.md)** (C, GPL-2.0, mature)
|
||||
- **[Tremulous](tremulous.md)** (C, GPL-2.0, mature, inactive since 2016)
|
||||
- **[Tumiki Fighters](tumiki_fighters.md)** (D, 2-clause BSD, mature, inactive since 2005)
|
||||
- **[Tumiki Fighters](tumiki_fighters.md)** (D, C++, 2-clause BSD, mature, inactive since 2005)
|
||||
- **[Tux Racer](tux_racer.md)** (C, GPL-2.0, beta, inactive since 2001)
|
||||
- **[UltraStar](ultrastar.md)** (Pascal, ?, mature, inactive since 2010)
|
||||
- **[Unvanquished](unvanquished.md)** (C++, GPL-3.0, mature)
|
||||
|
@ -93,7 +93,7 @@
|
||||
- **[Crossfire](crossfire.md)** (C, Java, GPL-2.0, mature)
|
||||
- **[Crown and Cutlass](crown_and_cutlass.md)** (C++, Custom, beta, inactive since 2009)
|
||||
- **[Crypto++](crypto.md)** (C++, Boost-1.0, mature)
|
||||
- **[D-Fend Reloaded](dfend_reloaded.md)** (Pascal, GPL, mature, inactive since 2015)
|
||||
- **[D-Fend Reloaded](dfend_reloaded.md)** (Pascal, GPL-3.0, mature, inactive since 2015)
|
||||
- **[DNT](dnt.md)** (C++, GPL-3.0, beta, inactive since 2016)
|
||||
- **[DRL](drl.md)** (Lua, Pascal, GPL-2.0, mature)
|
||||
- **[Daimonin](daimonin.md)** (C, GPL-2.0, mature)
|
||||
@ -166,7 +166,7 @@
|
||||
- **[Freeciv WebGL](freeciv_web.md)** (JavaScript, Java, AGPL-3.0, mature)
|
||||
- **[Freeciv](freeciv.md)** (C, GPL-2.0, mature)
|
||||
- **[Freedink](freedink.md)** (C++, GPL-3.0, mature)
|
||||
- **[Freedoom](freedoom.md)** (Python, BSD, beta)
|
||||
- **[Freedoom](freedoom.md)** (Not applicable, Not applicable, beta)
|
||||
- **[FreedroidRPG](freedroid.md)** (C, GPL-2.0, mature)
|
||||
- **[Freeminer](freeminer.md)** (C++, Lua, GPL-3.0, beta)
|
||||
- **[Freeserf](freeserf.md)** (C++, GPL-3.0, beta)
|
||||
@ -441,7 +441,7 @@
|
||||
- **[Tressette](tresette.md)** (?, ?, mature, inactive since 2017)
|
||||
- **[Trinity Reign](trinity_reign.md)** (C++, GPL-3.0, beta, inactive since 2013)
|
||||
- **[TripleA](triplea.md)** (Java, GPL-2.0, mature)
|
||||
- **[Tumiki Fighters](tumiki_fighters.md)** (D, 2-clause BSD, mature, inactive since 2005)
|
||||
- **[Tumiki Fighters](tumiki_fighters.md)** (D, C++, 2-clause BSD, mature, inactive since 2005)
|
||||
- **[Turious](turious.md)** (C, GPL-3.0, beta, inactive since 2014)
|
||||
- **[Turn of War](turn_of_war.md)** (Java, GPL-3.0, beta)
|
||||
- **[Tux Football](tux_football.md)** (C++, GPL-2.0, beta, inactive since 2012)
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Tool
|
||||
|
||||
- **[AutoREALM](autorealm.md)** (C++, GPL-3.0, mature)
|
||||
- **[D-Fend Reloaded](dfend_reloaded.md)** (Pascal, GPL, mature, inactive since 2015)
|
||||
- **[D-Fend Reloaded](dfend_reloaded.md)** (Pascal, GPL-3.0, mature, inactive since 2015)
|
||||
- **[Deity](deity.md)** (Python, GPL-2.0, mature, inactive since 2014)
|
||||
- **[Doxygen](doxygen.md)** (C++, GPL-2.0, mature)
|
||||
- **[Dungeon Mapper](dungeon_mapper.md)** (C++, GPL-3.0, beta, inactive since 2013)
|
||||
|
@ -7,8 +7,8 @@ _Graphical environment for DOSBox._
|
||||
- Download: http://dfendreloaded.sourceforge.net/Download.html, https://sourceforge.net/projects/dfendreloaded/files/D-Fend%20Reloaded/
|
||||
- Platform: Windows
|
||||
- Keywords: tool, frontend
|
||||
- Code repository: (see download)
|
||||
- Code repository: https://github.com/Trilarion/D-Fend-Reloaded.git (import of source releases)
|
||||
- Code language: Pascal
|
||||
- Code license: GPL
|
||||
- Code license: GPL-3.0
|
||||
|
||||
## Building
|
||||
|
@ -9,9 +9,10 @@ _Open content for the Doom engine._
|
||||
- Platform: Windows, Linux, macOS (all that are supported by the Doom engine)
|
||||
- Keywords: action, engine required
|
||||
- Code repository: https://github.com/freedoom/freedoom.git
|
||||
- Code language: Python
|
||||
- Code license: BSD
|
||||
- Code language: Not applicable (only content)
|
||||
- Code license: Not applicable (only content)
|
||||
- Code dependencies: Doom engine, pillow
|
||||
- Assets license: 3-clause BSD
|
||||
|
||||
## Building
|
||||
|
||||
|
@ -7,7 +7,7 @@ _Another 3D city simulator._
|
||||
- State: beta
|
||||
- Download: http://www.opencity.info/en/Download.html
|
||||
- Keywords: simulation
|
||||
- Code repository: https://svn.code.sf.net/p/opencity/code/ (svn), https://sourceforge.net/p/opencity/cvs/ (cvs)
|
||||
- Code repository: https://gitlab.com/osgames/opencity.git (combination of cvs and svn), https://svn.code.sf.net/p/opencity/code/ (svn), https://sourceforge.net/p/opencity/cvs/ (cvs)
|
||||
- Code language: C++
|
||||
- Code license: GPL-2.0
|
||||
|
||||
|
@ -7,7 +7,7 @@ _Board game with the goal to place letters on the board like in crosswords._
|
||||
- Download: (see home)
|
||||
- Platform: Windows, Linux, macOS
|
||||
- Keywords: strategy, board game
|
||||
- Code repository: https://svn.code.sf.net/p/scrabble/code/ (svn)
|
||||
- Code repository: https://gitlab.com/osgames/scrabble3d.git, https://svn.code.sf.net/p/scrabble/code/ (svn)
|
||||
- Code language: Pascal
|
||||
- Code license: GPL-3.0
|
||||
|
||||
|
@ -6,11 +6,10 @@ _Something in-between of a turn-based/real-time strategy game set in Japan durin
|
||||
- State: beta, inactive since 2008
|
||||
- Download: https://sourceforge.net/projects/sengdokuwsj/files
|
||||
- Keywords: strategy
|
||||
- Code repository: (see download)
|
||||
- Code repository: https://gitlab.com/osgames/sengoku.git (import of source releases)
|
||||
- Code language: C++, Lua
|
||||
- Code license: MIT
|
||||
|
||||
Requires: SDL
|
||||
- Code dependencies: SDL
|
||||
|
||||
More like alpha.
|
||||
|
||||
|
@ -7,10 +7,11 @@ _Side-scrolling shooter._
|
||||
- State: mature, inactive since 2005
|
||||
- Download: https://sourceforge.net/projects/tumiki/files/tumiki/
|
||||
- Keywords: action, shooter
|
||||
- Code repository: (see download)
|
||||
- Code language: D
|
||||
- Code repository: https://gitlab.com/osgames/tumiki.git (import of source releases)
|
||||
- Code language: D, C++
|
||||
- Code license: 2-clause BSD
|
||||
- Code dependencies: SDL
|
||||
|
||||
## Building
|
||||
|
||||
- Build system: Make
|
||||
|
@ -8,7 +8,7 @@ _Multi-player 2D space game._
|
||||
- Download: https://sourceforge.net/projects/xpilotgame/files/
|
||||
- Platform: Windows, Linux
|
||||
- Keywords: action, space
|
||||
- Code repository: http://hg.code.sf.net/p/xpilotgame/xpilotgame (hg), http://xpilotgame.cvs.sourceforge.net (cvs)
|
||||
- Code repository: http://hg.code.sf.net/p/xpilotgame/www.xpilot.org (hg, website), http://xpilotgame.cvs.sourceforge.net (cvs)
|
||||
- Code language: C
|
||||
- Code license: GPL-2.0
|
||||
|
||||
|
@ -13,4 +13,6 @@ _Platform game._
|
||||
- Code license: ?
|
||||
- Code dependencies: Blender game engine
|
||||
|
||||
[Download overview page](https://download.blender.org/apricot/)
|
||||
|
||||
## Building
|
||||
|
@ -1,7 +1,7 @@
|
||||
[comment]: # (autogenerated content, do not edit)
|
||||
# Statistics
|
||||
|
||||
analyzed 518 entries on 2019-08-05 17:03:54
|
||||
analyzed 518 entries on 2019-08-07 13:35:45
|
||||
|
||||
## State
|
||||
|
||||
@ -17,10 +17,10 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
|
||||
##### Language frequency
|
||||
|
||||
- C++ (37.0%)
|
||||
- C++ (37.1%)
|
||||
- C (20.2%)
|
||||
- Java (10.9%)
|
||||
- Python (9.1%)
|
||||
- Python (8.9%)
|
||||
- Lua (4.7%)
|
||||
- JavaScript (2.9%)
|
||||
- Pascal (2.8%)
|
||||
@ -51,6 +51,7 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
- Game Maker Script (0.2%)
|
||||
- Groovy (0.2%)
|
||||
- Kotlin (0.2%)
|
||||
- Not applicable (0.2%)
|
||||
- Ruby (0.2%)
|
||||
- Script (0.2%)
|
||||
- Swift (0.2%)
|
||||
@ -62,7 +63,7 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
##### Licenses frequency
|
||||
|
||||
- GPL-2.0 (38.5%)
|
||||
- GPL-3.0 (25.0%)
|
||||
- GPL-3.0 (25.1%)
|
||||
- MIT (10.9%)
|
||||
- Custom (4.4%)
|
||||
- ? (2.7%)
|
||||
@ -70,7 +71,7 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
- zlib (2.3%)
|
||||
- 3-clause BSD (2.1%)
|
||||
- LGPL-2.1 (2.1%)
|
||||
- GPL (1.5%)
|
||||
- GPL (1.3%)
|
||||
- AGPL-3.0 (1.1%)
|
||||
- LGPL-3.0 (1.0%)
|
||||
- LGPL-2.0 (0.8%)
|
||||
@ -81,7 +82,6 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
- Boost-1.0 (0.4%)
|
||||
- ISC (0.4%)
|
||||
- MPL-2.0 (0.4%)
|
||||
- BSD (0.2%)
|
||||
- CC-BY-NC (0.2%)
|
||||
- CC-BY-NC-SA (0.2%)
|
||||
- CC-BY-NC-SA-2.0 (0.2%)
|
||||
@ -91,6 +91,7 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
- CC0 (0.2%)
|
||||
- LGPL (0.2%)
|
||||
- Ms-RL (0.2%)
|
||||
- Not applicable (0.2%)
|
||||
- Proprietary (0.2%)
|
||||
- SWIG license (0.2%)
|
||||
|
||||
@ -203,12 +204,12 @@ Blobby Volley 2 (2017), Eat The Whistle (2017), PokerTH (2017), Scrolling Game D
|
||||
|
||||
## Code dependencies
|
||||
|
||||
With code dependency field 104 (20.1%)
|
||||
With code dependency field 105 (20.3%)
|
||||
|
||||
##### Code dependencies frequency
|
||||
|
||||
- pygame (15.0%)
|
||||
- SDL (12.5%)
|
||||
- pygame (14.9%)
|
||||
- SDL (12.9%)
|
||||
- numpy (3.5%)
|
||||
- pillow (3.5%)
|
||||
- wxPython (3.5%)
|
||||
@ -296,17 +297,17 @@ With code dependency field 104 (20.1%)
|
||||
|
||||
## Build systems
|
||||
|
||||
Build systems information available for 24.5% of all projects.
|
||||
Build systems information available for 24.7% of all projects.
|
||||
|
||||
##### Build systems frequency (127)
|
||||
##### Build systems frequency (128)
|
||||
|
||||
- CMake (61.4%)
|
||||
- Autoconf (15.7%)
|
||||
- Make (4.7%)
|
||||
- CMake (60.9%)
|
||||
- Autoconf (15.6%)
|
||||
- Make (5.5%)
|
||||
- Scons (3.9%)
|
||||
- setup.py (3.1%)
|
||||
- Custom (2.4%)
|
||||
- Gradle (2.4%)
|
||||
- Custom (2.3%)
|
||||
- Gradle (2.3%)
|
||||
- Ant (1.6%)
|
||||
- Maven (1.6%)
|
||||
- Lazarus project (0.8%)
|
||||
|
@ -11,7 +11,7 @@ _{Description}_
|
||||
- Keywords: {XX} (optional)
|
||||
- Code repository: {URL}
|
||||
- Code language: {XX}
|
||||
- Code license: {XX} (optional)
|
||||
- Code license: {XX}
|
||||
- Code dependencies: {XX} (optional)
|
||||
- Assets license: {XX} (optional)
|
||||
|
||||
|
@ -143,6 +143,7 @@
|
||||
"https://github.com/TASVideos/desmume.git",
|
||||
"https://github.com/TVTower/TVTower.git",
|
||||
"https://github.com/TobiasBielefeld/Simple-Solitaire.git",
|
||||
"https://github.com/Trilarion/D-Fend-Reloaded.git",
|
||||
"https://github.com/Trilarion/mpango.git",
|
||||
"https://github.com/Trilarion/spacetraderjava.git",
|
||||
"https://github.com/Tuxemon/Tuxemon.git",
|
||||
@ -433,6 +434,7 @@
|
||||
"https://gitlab.com/osgames/murderpd.git",
|
||||
"https://gitlab.com/osgames/nxtank.git",
|
||||
"https://gitlab.com/osgames/openblox.git",
|
||||
"https://gitlab.com/osgames/opencity.git",
|
||||
"https://gitlab.com/osgames/openrpg.git",
|
||||
"https://gitlab.com/osgames/openrpgmaker.git",
|
||||
"https://gitlab.com/osgames/openyahtzee.git",
|
||||
@ -449,8 +451,10 @@
|
||||
"https://gitlab.com/osgames/rogueclone.git",
|
||||
"https://gitlab.com/osgames/rpdungeon.git",
|
||||
"https://gitlab.com/osgames/rpge.git",
|
||||
"https://gitlab.com/osgames/scrabble3d.git",
|
||||
"https://gitlab.com/osgames/sdl-asylum.git",
|
||||
"https://gitlab.com/osgames/sdl-sopwith.git",
|
||||
"https://gitlab.com/osgames/sengoku.git",
|
||||
"https://gitlab.com/osgames/sge2d.git",
|
||||
"https://gitlab.com/osgames/sharpkonquest.git",
|
||||
"https://gitlab.com/osgames/skrupel.git",
|
||||
@ -465,6 +469,7 @@
|
||||
"https://gitlab.com/osgames/theclans.git",
|
||||
"https://gitlab.com/osgames/torcs.git",
|
||||
"https://gitlab.com/osgames/trophy.git",
|
||||
"https://gitlab.com/osgames/tumiki.git",
|
||||
"https://gitlab.com/osgames/tuxfootball.git",
|
||||
"https://gitlab.com/osgames/tuxracer.git",
|
||||
"https://gitlab.com/osgames/uaf.git",
|
||||
@ -503,10 +508,8 @@
|
||||
"https://svn.code.sf.net/p/freesynd/code/",
|
||||
"https://svn.code.sf.net/p/fsc/code/",
|
||||
"https://svn.code.sf.net/p/lgames/code/",
|
||||
"https://svn.code.sf.net/p/opencity/code/",
|
||||
"https://svn.code.sf.net/p/pio/code/",
|
||||
"https://svn.code.sf.net/p/planeshift/code/",
|
||||
"https://svn.code.sf.net/p/scrabble/code/",
|
||||
"https://svn.code.sf.net/p/space-faring/code/",
|
||||
"https://svn.code.sf.net/p/spacezero/code/",
|
||||
"https://svn.code.sf.net/p/speed-dreams/code/",
|
||||
@ -519,7 +522,7 @@
|
||||
"http://hg.code.sf.net/p/grobots/trunk",
|
||||
"http://hg.code.sf.net/p/openblox/openblox",
|
||||
"http://hg.code.sf.net/p/phantasy/code",
|
||||
"http://hg.code.sf.net/p/xpilotgame/xpilotgame",
|
||||
"http://hg.code.sf.net/p/xpilotgame/www.xpilot.org (hg",
|
||||
"http://hg.libsdl.org/SDL",
|
||||
"https://bitbucket.org/Darthman/quad/src",
|
||||
"https://bitbucket.org/allacrost/allacrost/src",
|
||||
|
150
tools/conversions/dfend_reloaded_source_releases_to_git.py
Normal file
150
tools/conversions/dfend_reloaded_source_releases_to_git.py
Normal file
@ -0,0 +1,150 @@
|
||||
"""
|
||||
Converts the source releases of D-Fend Reloaded to a Git.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
import zipfile
|
||||
import datetime
|
||||
import subprocess
|
||||
import re
|
||||
import time
|
||||
|
||||
|
||||
def subprocess_run(cmd):
|
||||
"""
|
||||
|
||||
"""
|
||||
result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
if result.returncode:
|
||||
print("error {} in call {}".format(result.returncode, cmd))
|
||||
print(result.stderr.decode('ascii'))
|
||||
sys.exit(-1)
|
||||
else:
|
||||
print(' output: {}'.format(result.stdout.decode('ascii')))
|
||||
|
||||
|
||||
def unzip(zip_file, destination_directory):
|
||||
dirs = {}
|
||||
|
||||
with zipfile.ZipFile(zip_file, 'r') as zip:
|
||||
for info in zip.infolist():
|
||||
name, date_time = info.filename, info.date_time
|
||||
name = os.path.join(destination_directory, name)
|
||||
zip.extract(info, destination_directory)
|
||||
|
||||
# still need to adjust the dt o/w item will have the current dt
|
||||
date_time = time.mktime(info.date_time + (0, 0, -1))
|
||||
|
||||
if os.path.isdir(name):
|
||||
# changes to dir dt will have no effect right now since files are
|
||||
# being created inside of it; hold the dt and apply it later
|
||||
dirs[name] = date_time
|
||||
else:
|
||||
os.utime(name, (date_time, date_time))
|
||||
|
||||
# done creating files, now update dir dt
|
||||
for name in dirs:
|
||||
date_time = dirs[name]
|
||||
os.utime(name, (date_time, date_time))
|
||||
|
||||
|
||||
def single_release(zip):
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
# get version
|
||||
matches = version_regex.findall(zip)
|
||||
version = matches[0]
|
||||
print(' version {}'.format(version))
|
||||
ftp_link = 'https://sourceforge.net/projects/dfendreloaded/files/D-Fend%20Reloaded/D-Fend%20Reloaded%20{}/'.format(version)
|
||||
|
||||
# clear git path without deleting '.git'
|
||||
for item in os.listdir(git_path):
|
||||
# ignore '.git
|
||||
if item == '.git':
|
||||
continue
|
||||
item = os.path.join(git_path, item)
|
||||
if os.path.isdir(item):
|
||||
shutil.rmtree(item)
|
||||
else:
|
||||
os.remove(item)
|
||||
|
||||
# unpack zip to git path
|
||||
# with zipfile.ZipFile(os.path.join(source_releases_path, zip), 'r') as zipf:
|
||||
# zipf.extractall(git_path)
|
||||
unzip(os.path.join(source_releases_path, zip), git_path)
|
||||
|
||||
# get date from the files (latest of last modified)
|
||||
latest_last_modified = 0
|
||||
for dirpath, dirnames, filenames in os.walk(git_path):
|
||||
if dirpath.startswith(os.path.join(git_path, '.git')):
|
||||
# not in '.git'
|
||||
continue
|
||||
for filename in filenames:
|
||||
filepath = os.path.join(dirpath, filename)
|
||||
lastmodified = os.path.getmtime(filepath)
|
||||
if lastmodified > latest_last_modified:
|
||||
latest_last_modified = lastmodified
|
||||
# print('{}, {}'.format(filepath, datetime.datetime.fromtimestamp(latest_last_modified).strftime('%Y-%m-%d')))
|
||||
|
||||
original_date = datetime.datetime.fromtimestamp(latest_last_modified).strftime('%Y-%m-%d')
|
||||
print(' last modified: {}'.format(original_date))
|
||||
|
||||
# update the git index (add unstaged, remove deleted, ...)
|
||||
print('git add')
|
||||
os.chdir(git_path)
|
||||
subprocess_run(['git', 'add', '--all'])
|
||||
|
||||
# perform the commit
|
||||
print('git commit')
|
||||
os.chdir(git_path)
|
||||
message = 'version {} from {} ({})'.format(version, original_date, ftp_link)
|
||||
print(' message "{}"'.format(message))
|
||||
subprocess_run(['git', 'commit', '--message={}'.format(message), '--author={}'.format(author), '--date={}'.format(original_date)])
|
||||
|
||||
|
||||
def recreate_directory(path):
|
||||
"""
|
||||
|
||||
"""
|
||||
if os.path.isdir(path):
|
||||
shutil.rmtree(path)
|
||||
for attempts in range(10):
|
||||
try:
|
||||
os.mkdir(path)
|
||||
except PermissionError:
|
||||
time.sleep(0.1)
|
||||
continue
|
||||
else:
|
||||
break
|
||||
else:
|
||||
raise RuntimeError()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# general properties
|
||||
author = 'alexanderherzog <alexanderherzog@users.sourceforge.net>'
|
||||
version_regex = re.compile(r"Reloaded-(.*)-", re.MULTILINE)
|
||||
|
||||
# get paths
|
||||
source_releases_path = sys.argv[1]
|
||||
git_path = os.path.join(source_releases_path, 'git')
|
||||
|
||||
# recreate git path
|
||||
recreate_directory(git_path)
|
||||
os.chdir(git_path)
|
||||
subprocess_run('git init')
|
||||
|
||||
# get all files in the source releases path and sort them
|
||||
zips = os.listdir(source_releases_path)
|
||||
zips = [file for file in zips if os.path.isfile(os.path.join(source_releases_path, file))]
|
||||
print('found {} source releases'.format(len(zips)))
|
||||
zips.sort()
|
||||
|
||||
# iterate over them and do revisions
|
||||
for counter, zip in enumerate(zips):
|
||||
print('{}/{}'.format(counter, len(zips)))
|
||||
single_release(zip)
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
Helps me with importing source revisions into Git
|
||||
Helps me with importing source revisions into Git
|
||||
"""
|
||||
|
||||
import shutil
|
@ -7,7 +7,7 @@ TODO instead of svn export for every revision, checkout and then update to revis
|
||||
"""
|
||||
|
||||
import json
|
||||
|
||||
import sys
|
||||
import psutil
|
||||
|
||||
from utils.utils import *
|
@ -6,7 +6,6 @@ import json
|
||||
import datetime
|
||||
from utils.utils import *
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
# https://sourceforge.net/projects/phaosrpg/files/OldFiles/Pv0.7devel.zip/download is a corrupt zip
|
@ -1,6 +1,6 @@
|
||||
"""
|
||||
Checks a list of game names (comma separated in text file) if they are already included in the database.
|
||||
Is fuzzy, i.e. accepts a certain similarity of names.
|
||||
Checks a list of game names (comma separated in text file) if they are already included in the database.
|
||||
Is fuzzy, i.e. accepts a certain similarity of names.
|
||||
"""
|
||||
|
||||
import json
|
||||
|
@ -1,5 +1,5 @@
|
||||
"""
|
||||
Where no requirements.txt or setup.py or other information is given, get an idea of the external dependencies
|
||||
Where no requirements.txt or setup.py or other information is given for a Python project, get an idea of the external dependencies
|
||||
by parsing the Python files and looking for import statements.
|
||||
"""
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user