Beispiel #1
0
 def load_workspace_from_description(self, description):
     from pycam.Flow.history import merge_history_and_block_events
     from pycam.Flow.parser import parse_yaml, validate_collections, RestoreCollectionsOnError
     with merge_history_and_block_events(self.settings):
         with RestoreCollectionsOnError():
             parse_yaml(description,
                        excluded_sections={
                            CollectionName.TOOLPATHS, CollectionName.EXPORTS
                        },
                        reset=True)
             validate_collections()
Beispiel #2
0
def main_func():
    args = get_args()
    _log.setLevel(LOG_LEVELS[args.log_level])
    for fname in args.sources:
        try:
            parse_yaml(fname)
        except pycam.errors.PycamBaseException as exc:
            print("Flow description parse failure ({}): {}".format(fname, exc), file=sys.stderr)
            sys.exit(1)
    pycam.Utils.set_application_key("pycam-cli")
    for export in pycam.workspace.data_models.Export.get_collection():
        export.run_export()
Beispiel #3
0
 def restore_previous_state(self):
     if len(self._revisions) > 1:
         self._revisions.pop()
         event_handler = get_event_handler()
         # we do not expect a "change" since we switch to a previous state
         with self.merge_changes(no_store=True):
             with event_handler.blocked_events(self.subscribed_events, emit_after=True):
                 source = io.StringIO(self._revisions[-1].dump)
                 parse_yaml(source, reset=True)
         _log.info("Restored previous state from history (%d/%d)",
                   len(self._revisions) + 1, self.max_revision_count)
         event_handler.emit_event("history-changed")
         return True
     else:
         _log.warning("Failed to restore previous state from history: no more states left")
         return False