示例#1
0
文件: helper.py 项目: FrostyX/tracer
	def print_helper(self, app, args):
		if app.instances:
			manager = System.package_manager()
			package = manager.provided_by(app)
			if package:
				package.load_info(System.package_manager())

			tr = Tracer(System.package_manager(), Rules, Applications)
			tr.now = self.args.now
			if self.packages:
				tr.specified_packages = self.packages

			try: affected_by = tr.trace_application(app)
			except AccessDenied: affected_by = _("You don't have enough permissions")
			affects = self._affects(app, affected_by)

			view = HelperView()
			view.assign("args", args)
			view.assign("processes", app.instances)
			view.assign("application", app)
			view.assign("package", package)
			view.assign("affected_by", affected_by)
			view.assign("affects", affects)
			view.render()
		else:
			print(_("Application called {0} is not running").format(app.name))
示例#2
0
	def print_helper(self, app_name, args):
		processes = Applications.find(app_name).instances
		if processes:
			manager = System.package_manager()
			package = manager.provided_by(app_name)
			if package:
				package.load_info(System.package_manager())

			tr = Tracer(System.package_manager(), Rules, Applications)
			tr.now = self.args.now
			if self.packages:
				tr.specified_packages = self.packages

			try: affected_by = tr.trace_application(app_name)
			except AccessDenied: affected_by = _("You don't have enough permissions")

			app = Applications.find(app_name)
			affects = self._affects(app, affected_by)

			view = HelperView()
			view.assign("args", args)
			view.assign("processes", processes)
			view.assign("application", app)
			view.assign("package", package)
			view.assign("affected_by", affected_by)
			view.assign("affects", affects)
			view.render()
		else:
			print(_("Application called {0} is not running").format(app_name))
示例#3
0
	def render_packages(self):
		timestamp = self.args.timestamp[0] if self.args.timestamp[0] else System.boot_time()
		manager = System.package_manager()
		packages = manager.packages_newer_than(timestamp)

		view = PackagesView()
		view.assign('packages', packages)
		view.assign('boot_time', System.boot_time())
		view.render()
示例#4
0
    def render_packages(self):
        timestamp = self.args.timestamp[0] if self.args.timestamp[
            0] else System.boot_time()
        manager = System.package_manager()
        packages = manager.packages_newer_than(timestamp)

        view = PackagesView()
        view.assign('packages', packages)
        view.assign('boot_time', System.boot_time())
        view.render()
示例#5
0
    def __init__(self, args, packages):
        self.args = args
        self.tracer = Tracer(System.package_manager(erased=args.erased),
                             Rules,
                             Applications,
                             memory=dump_memory,
                             hooks_observer=HooksObserver(),
                             erased=args.erased)
        self.tracer.now = args.now
        self.tracer.timestamp = args.timestamp[0]
        if packages:
            self.tracer.specified_packages = packages

        self.applications = self.tracer.trace_affected(self._user(args.user))
        if self.args.daemons_only:
            self.applications = self.applications.filter_types(
                [Applications.TYPES["DAEMON"]])
示例#6
0
文件: default.py 项目: FrostyX/tracer
	def __init__(self, args, packages):
		self.args = args
		self.tracer = Tracer(
			System.package_manager(erased=args.erased),
			Rules,
			Applications,
			memory=dump_memory,
			hooks_observer=HooksObserver(),
			erased=args.erased
		)
		self.tracer.now = args.now
		self.tracer.timestamp = args.timestamp[0]
		if packages:
			self.tracer.specified_packages = packages

		self.applications = self.tracer.trace_affected(self._user(args.user))
		if self.args.daemons_only:
			self.applications = self.applications.filter_types([Applications.TYPES["DAEMON"]])
示例#7
0
	def __init__(self, args, call_helper=None):
		#TODO filter blacklisted packages from restart

		tracer = Tracer(
			System.package_manager(erased=args.erased),
			Rules,
			Applications,
			memory=dump_memory,
			erased=args.erased
		)

		daemons = tracer.trace_affected(user="******").filter_types([Applications.TYPES["DAEMON"]])

		if call_helper is None:
			call_helper = RestartController._call_helper
		else:
			call_helper = call_helper
		self.restarted_daemons = RestartController.restart_daemons(daemons, call_helper)
示例#8
0
    def __init__(self, args, call_helper=None):
        #TODO filter blacklisted packages from restart

        tracer = Tracer(System.package_manager(erased=args.erased),
                        Rules,
                        Applications,
                        memory=dump_memory,
                        erased=args.erased)

        daemons = tracer.trace_affected(user="******").filter_types(
            [Applications.TYPES["DAEMON"]])

        if call_helper is None:
            call_helper = RestartController._call_helper
        else:
            call_helper = call_helper
        self.restarted_daemons = RestartController.restart_daemons(
            daemons, call_helper)
示例#9
0
	def render_system(self):
		uptime = datetime.now() - datetime.fromtimestamp(System.boot_time())
		uptime = str(uptime).split('.')[0]

		users = set([user.name for user in psutil.get_users()])
		package_managers = System.package_manager().names()

		view = SystemView()
		view.assign('python', System.python_version())
		view.assign('distribution', System.distribution())
		view.assign('package_managers', package_managers)
		view.assign('init', System.init_system())
		view.assign('uptime', uptime)
		view.assign('user', System.user())
		view.assign('users', users)
		view.assign('version', __version__)
		view.assign('rules_count', len(Rules.all()))
		view.assign('applications_count', len(Applications.all()))
		view.render()
示例#10
0
    def render_system(self):
        uptime = datetime.now() - datetime.fromtimestamp(System.boot_time())
        uptime = str(uptime).split('.')[0]

        users = set([user.name for user in psutil.get_users()])
        package_managers = System.package_manager().names()

        view = SystemView()
        view.assign('python', System.python_version())
        view.assign('distribution', System.distribution())
        view.assign('package_managers', package_managers)
        view.assign('init', System.init_system())
        view.assign('uptime', uptime)
        view.assign('user', System.user())
        view.assign('users', users)
        view.assign('version', __version__)
        view.assign('rules_count', len(Rules.all()))
        view.assign('applications_count', len(Applications.all()))
        view.render()
示例#11
0
	def __init__(self, tracer=Tracer):
		self._tracer = tracer(System.package_manager(), Rules, Applications, dump_memory)
示例#12
0
文件: query.py 项目: ygemici/tracer
	def __init__(self, tracer=Tracer):
		self._tracer = tracer(System.package_manager(), Rules, Applications, dump_memory)