Skip to content

Instantly share code, notes, and snippets.

@Lazza
Created May 20, 2017 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Lazza/d4d915361277a79b9be0f1af9b2e071b to your computer and use it in GitHub Desktop.
Save Lazza/d4d915361277a79b9be0f1af9b2e071b to your computer and use it in GitHub Desktop.
Run 'git pull' on all FreeCAD modules
#!/usr/bin/env python
# freecad_pull_all.py
# Copyright 2017 Andrea Lazzarotto <andrea.lazzarotto@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
LOCATION = os.path.join('~', '.FreeCAD', 'Mod')
def update(directory):
if '.git' not in os.listdir(directory):
print '-> No .git directory found, skipping!'
return
else:
print '-> Running "git pull"'
workdir = os.getcwd()
os.chdir(directory)
os.system('git pull')
os.chdir(workdir)
if __name__ == '__main__':
for element in os.listdir(LOCATION):
path = os.path.join(LOCATION, element.strip())
if os.path.isdir(path):
print 'Working on %s' % (path, )
update(path)
print ''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment