aboutsummaryrefslogtreecommitdiff
path: root/source/pyAggr3g470r
diff options
context:
space:
mode:
Diffstat (limited to 'source/pyAggr3g470r')
-rwxr-xr-xsource/pyAggr3g470r143
1 files changed, 0 insertions, 143 deletions
diff --git a/source/pyAggr3g470r b/source/pyAggr3g470r
deleted file mode 100755
index 3755ad16..00000000
--- a/source/pyAggr3g470r
+++ /dev/null
@@ -1,143 +0,0 @@
-#! /usr/bin/env python
-#-*- coding: utf-8 -*-
-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2012 Cédric Bonhomme - http://cedricbonhomme.org/
-#
-# For more information : http://bitbucket.org/cedricbonhomme/pyaggr3g470r/
-#
-# 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/>
-
-__author__ = "Cedric Bonhomme"
-__version__ = "$Revision: 0.2 $"
-__date__ = "$Date: 2011/06/20 $"
-__date__ = "$Date: 2013/02/17 $"
-__copyright__ = "Copyright (c) Cedric Bonhomme"
-__license__ = "GPLv3"
-
-# This control file is inspired from Forban: http://www.foo.be/forban.
-
-import os
-import sys
-import time
-import subprocess
-import platform
-import signal
-
-PATH = os.path.abspath(".")
-SERVICE = "pyAggr3g470r"
-
-def service_start(python_command, servicename=None):
- """
- Starts a new service with Popen and returns the processus id.
- """
- if servicename is not None:
- service = servicename + ".py"
- proc = subprocess.Popen([python_command, "-tt", service], stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
- time.sleep(0.15)
- return proc.pid
- return False
-
-def writepid(processname=None, pid=None):
- """
- Writes the pid of processname in a file.
- """
- pidpath = os.path.join(PATH, "var", processname + ".pid")
- if processname is not None and pid is not None:
- with open(pidpath, "w") as f:
- f.write(str(pid))
- return True
- return False
-
-def checkpid(servicename=None):
- pidpath = os.path.join(PATH,"var", servicename + ".pid")
- if os.path.exists(pidpath):
- return True
- else:
- return False
-
-def pidof(processname=None):
- pidpath = os.path.join(PATH, "var", processname + ".pid")
- if processname is not None and os.path.exists(pidpath):
- with open(pidpath) as f:
- pid = f.read()
- return pid
- return False
-
-def rmpid(processname=None):
- """
- Deletes the file which contains the PID.
- """
- pidpath = os.path.join(PATH, "var", processname + ".pid")
- if os.path.exists(pidpath):
- os.unlink(pidpath)
- return True
- else:
- return False
-
-def start(python_command):
- if not checkpid(servicename=SERVICE):
- pid = service_start(python_command, servicename =SERVICE)
- writepid(processname=SERVICE, pid=pid)
- print(SERVICE + " is starting with pid: " + pidof(processname=SERVICE))
- else:
- print(SERVICE + " could not be started (pid exists)")
- retval = False
-
-def stop():
- """
- Stop the process SERVICE.
- """
- print("Stopping " + SERVICE + "...")
- retval = True
- pid = pidof(processname=SERVICE)
- if pid:
- if platform.system() == "Windows":
- import win32api
- import win32con
- phandle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, int(pid))
- win32api.TerminateProcess(phandle, 0)
- win32api.CloseHandle(phandle)
- rmpid(processname=SERVICE)
- else:
- try:
- os.kill(int(pid), signal.SIGKILL)
- except OSError as e:
- print(SERVICE + " unsuccessfully stopped")
- retval = False
- finally:
- rmpid(processname=SERVICE)
- return retval
-
-def usage():
- print("pyAggr3g470r (start|stop|restart)")
- exit (1)
-
-if __name__ == "__main__":
- # Point of entry in execution mode.
- python_command = "python"
- if sys.version_info.major == 2:
- # Ensures that code doesn't illegally mixed tabs and spaces
- python_command = "python3.3"
- if len(sys.argv) == 1:
- usage()
- elif sys.argv[1] == "start":
- start(python_command)
- elif sys.argv[1] == "stop":
- stop()
- elif sys.argv[1] == "restart":
- stop()
- start(python_command)
- else:
- usage()
bgstack15