def ChangedFiles(self, request, context): result = fms.PathList() chnged_files = [] for item in request.items: mtime = 0 if os.path.exists(item.path): mtime = os.path.getmtime(item.path) if mtime != item.mtime: chnged_files.append(fms.PathObj(path=item.path, mtime=mtime)) result.items.extend(chnged_files) return result
def changed_files(self, files): ''' Request to test files for last modification time. :param files: dictionary with files and their last known modification time. See results of :meth:`fkie_node_manager_daemon.launch_stub.LaunchStub.get_mtimes`, :meth:`fkie_node_manager_daemon.launch_stub.LaunchStub.load_launch`. :type files: dict(str: float) ''' request = fmsg.PathList() pathlist = [] for path, mtime in files.items(): pathlist.append(fmsg.PathObj(path=path, mtime=mtime)) request.items.extend(pathlist) response = self.fm_stub.ChangedFiles(request, timeout=settings.GRPC_TIMEOUT) return response.items
def GetPackageBinaries(self, request, context): result = fms.PathList() binaries = [] try: path = get_pkg_path(request.name) self._get_binaries(path, binaries) result.items.extend(binaries) # find binaries in catkin workspace from catkin.find_in_workspaces import find_in_workspaces as catkin_find search_paths = catkin_find(search_dirs=['libexec', 'share'], project=request.name, first_matching_workspace_only=True) for p in search_paths: self._get_binaries(p, binaries) except Exception: import traceback print(traceback.format_exc()) pass return result