Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved postp, daily, backlog search threads start/stop to app.js. #5975

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from
57 changes: 57 additions & 0 deletions ext/daemon/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# -*- coding: utf-8 -*-

# daemon/__init__.py
# Part of ‘python-daemon’, an implementation of PEP 3143.
#
# This is free software, and you are welcome to redistribute it under
# certain conditions; see the end of this file for copyright
# information, grant of license, and disclaimer of warranty.

""" Library to implement a well-behaved Unix daemon process.

This library implements the well-behaved daemon specification of
:pep:`3143`, “Standard daemon process library”.

A well-behaved Unix daemon process is tricky to get right, but the
required steps are much the same for every daemon program. A
`DaemonContext` instance holds the behaviour and configured
process environment for the program; use the instance as a context
manager to enter a daemon state.

Simple example of usage::

import daemon

from spam import do_main_program

with daemon.DaemonContext():
do_main_program()

Customisation of the steps to become a daemon is available by
setting options on the `DaemonContext` instance; see the
documentation for that class for each option.

"""

from __future__ import (absolute_import, unicode_literals)

from .daemon import DaemonContext


__all__ = [DaemonContext]


# Copyright © 2009–2019 Ben Finney <[email protected]>
# Copyright © 2006 Robert Niederreiter
#
# This is free software: you may copy, modify, and/or distribute this work
# under the terms of the Apache License, version 2.0 as published by the
# Apache Software Foundation.
# No warranty expressed or implied. See the file ‘LICENSE.ASF-2’ for details.


# Local variables:
# coding: utf-8
# mode: python
# End:
# vim: fileencoding=utf-8 filetype=python :
133 changes: 133 additions & 0 deletions ext/daemon/_metadata.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# -*- coding: utf-8 -*-

# daemon/_metadata.py
# Part of ‘python-daemon’, an implementation of PEP 3143.
#
# This is free software, and you are welcome to redistribute it under
# certain conditions; see the end of this file for copyright
# information, grant of license, and disclaimer of warranty.

""" Package metadata for the ‘python-daemon’ distribution. """

from __future__ import (absolute_import, unicode_literals)

import datetime
import json

import pkg_resources

__metaclass__ = type


distribution_name = "python-daemon"
version_info_filename = "version_info.json"


def get_distribution_version_info(filename=version_info_filename):
""" Get the version info from the installed distribution.

:param filename: Base filename of the version info resource.
:return: The version info as a mapping of fields. If the
distribution is not available, the mapping is empty.

The version info is stored as a metadata file in the
distribution.

"""
version_info = {
'release_date': "UNKNOWN",
'version': "UNKNOWN",
'maintainer': "UNKNOWN",
}

try:
distribution = pkg_resources.get_distribution(distribution_name)
except pkg_resources.DistributionNotFound:
distribution = None

if distribution is not None:
if distribution.has_metadata(filename):
content = distribution.get_metadata(filename)
version_info = json.loads(content)

return version_info


version_info = get_distribution_version_info()

version_installed = version_info['version']


author_name = "Ben Finney"
author_email = "[email protected]"
author = "{name} <{email}>".format(name=author_name, email=author_email)


class YearRange:
""" A range of years spanning a period. """

def __init__(self, begin, end=None):
self.begin = begin
self.end = end

def __unicode__(self):
text = "{range.begin:04d}".format(range=self)
if self.end is not None:
if self.end > self.begin:
text = "{range.begin:04d}–{range.end:04d}".format(range=self)
return text

__str__ = __unicode__


def make_year_range(begin_year, end_date=None):
""" Construct the year range given a start and possible end date.

:param begin_year: The beginning year (text, 4 digits) for the
range.
:param end_date: The end date (text, ISO-8601 format) for the
range, or a non-date token string.
:return: The range of years as a `YearRange` instance.

If the `end_date` is not a valid ISO-8601 date string, the
range has ``None`` for the end year.

"""
begin_year = int(begin_year)

try:
end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d")
except (TypeError, ValueError):
# Specified end_date value is not a valid date.
end_year = None
else:
end_year = end_date.year

year_range = YearRange(begin=begin_year, end=end_year)

return year_range


copyright_year_begin = "2001"
build_date = version_info['release_date']
copyright_year_range = make_year_range(copyright_year_begin, build_date)

copyright = "Copyright © {year_range} {author} and others".format(
year_range=copyright_year_range, author=author)
license = "Apache-2"
url = "https://pagure.io/python-daemon/"


# Copyright © 2008–2019 Ben Finney <[email protected]>
#
# This is free software: you may copy, modify, and/or distribute this work
# under the terms of the Apache License, version 2.0 as published by the
# Apache Software Foundation.
# No warranty expressed or implied. See the file ‘LICENSE.ASF-2’ for details.


# Local variables:
# coding: utf-8
# mode: python
# End:
# vim: fileencoding=utf-8 filetype=python :