00001 # This file is part of repro, a Python package for automating 00002 # reproducible research in scientific computing. 00003 # 00004 # Copyright (C) 2008 Gilles Hennenfent, Sean Ross-Ross 00005 # 00006 # This program is free software: you can redistribute it and/or modify 00007 # it under the terms of the GNU General Public License as published by 00008 # the Free Software Foundation, either version 3 of the License, or 00009 # (at your option) any later version. 00010 # 00011 # This program is distributed in the hope that it will be useful, 00012 # but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 # GNU General Public License for more details. 00015 # 00016 # You should have received a copy of the GNU General Public License 00017 # along with this program. If not, see <http://www.gnu.org/licenses/>. 00018 00019 from os.path import abspath, normpath, split 00020 00021 ## 00022 # 00023 # @brief Class to track what flows have been used where 00024 # 00025 class ReproProject( object ): 00026 00027 used_ins = {} 00028 @classmethod 00029 def record_flow( cls, env, command , path ): 00030 00031 command = split(command) 00032 00033 books = cls.used_ins.setdefault( command[0] , set() ) 00034 books.add( path ) 00035 00036