Rename 'arbiter' module to 'yaml2ical'

We'll need to upload this module to PyPI in order to properly integrate
with the OpenStack Infrastructure. Unfortunately, there is already a
module there going by the 'arbiter' name. This switches the module name
to 'yaml2ical', which is not sounding nice, but at least is functionally
correct.

The git repository itself shall be renamed once this is merged.

Change-Id: I896bcbe7be8c6a017015b428c6ff0d39a4974a04
This commit is contained in:
Thierry Carrez 2014-11-21 18:03:14 +01:00
parent d7dd95ae0f
commit 15d58bbb6d
13 changed files with 46 additions and 35 deletions

View File

@ -1,13 +1,22 @@
Gerrit-Powered-Agenda
=====================
=========
yaml2ical
=========
This project aims to provide an easier way to manage OpenStack team meetings.
This tool converts a series of meeting descriptions in YAML format into one
or several .ics files suitable for calendaring. It checks for scheduling
conflicts in specific locations.
Rationale
=========
yaml2ical aims to provide an easier way to manage OpenStack team meetings.
Currently, each team's meeting time and agenda are listed at:
https://wiki.openstack.org/wiki/Meetings
This project replaces each meeting with well-defined YAML files.
This project allows to replace each meeting with well-defined YAML files,
which can be code-reviewed, then continuously-integrated into .ics files for
general consumption.
Getting Started
===============
@ -46,8 +55,8 @@ section below.
::
$ git clone https://github.com/openstack-infra/gerrit-powered-agenda.git
$ cd /opt/stack/gerrit-powered-agenda/arbiter/
$ git clone https://github.com/openstack-infra/yaml2ical.git
$ cd yaml2ical/yaml2ical
The following are a few scenarios:
@ -56,8 +65,8 @@ Generate .ics files locally from existing yaml meeting files:
::
$ python convert.py -y /opt/stack/gerrit-powered-agenda/meetings/ \
-i /opt/stack/gerrit-powered-agenda/icals/
$ python convert.py -y ../meetings/ \
-i ../icals/
The generated .ics files are not tracked in this git repository,
but they are available locally to import into your calendar. Note,
@ -65,7 +74,7 @@ to remove stale .ics files, use the ``--force`` argument:
::
gerrit-powered-agenda/icals$ ls
yaml2ical/icals$ ls
Barbican Meeting-b58d78a4.ics
Ceilometer Team Meeting-9ed7b5b4.ics
Chef Cookbook Meeting-2418b331.ics
@ -74,10 +83,10 @@ With each .ics file looking something similar to:
::
gerrit-powered-agenda/icals$ cat Barbican\ Meeting-b58d78a4.ics
yaml2ical/icals$ cat Barbican\ Meeting-b58d78a4.ics
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//OpenStack//Gerrit-Powered Meeting Agendas//EN
PRODID:-//yaml2ical agendas//EN
BEGIN:VEVENT
SUMMARY:Barbican Meeting (openstack-meeting-alt)
DTSTART;VALUE=DATE-TIME:20141006T200000Z

View File

@ -1,21 +1,23 @@
[metadata]
name = arbiter
summary = Automates process for testing and publishing changes to OpenStack meetings using existing OpenStack project infrastructure.
name = yaml2ical
summary = Convert YAML meeting descriptions into iCalendar files
description-file =
README.rst
author = NDSU IBM Capstone Group
author-email = joshua.tan@ndsu.edu
home-page = https://github.com/openstack-infra/gerrit-powered-agenda
author = NDSU IBM Capstone Group & OpenStack Infrastructure Team
author-email = openstack-infra@lists.openstack.org
home-page = http://ci.openstack.org/
classifier =
Intended Audience :: OpenStack Community
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
[global]
setup-hooks =
pbr.hooks.setup_hook
[files]
packages = arbiter
packages = yaml2ical

View File

@ -16,7 +16,7 @@ commands = {posargs}
[testenv:mkical]
commands = mkdir -p ical
python arbiter/convert.py -i ./ical -c
python yaml2ical/convert.py -i ./ical -c
[flake8]
show-source = True

View File

@ -16,4 +16,4 @@ import pbr.version
__version__ = pbr.version.VersionInfo(
'arbiter').version_string()
'yaml2ical').version_string()

View File

@ -14,7 +14,7 @@ import argparse
import logging
import os
from arbiter import utils
from yaml2ical import utils
# logging settings

View File

@ -18,16 +18,16 @@ import icalendar
import pytz
import yaml
from arbiter import const
from arbiter import schedule
from yaml2ical import const
from yaml2ical import schedule
class GerritPoweredCalendar(icalendar.Calendar):
class Yaml2IcalCalendar(icalendar.Calendar):
"""A calendar in ics format."""
def __init__(self):
super(GerritPoweredCalendar, self).__init__()
self.add('prodid', '-//OpenStack//Gerrit-Powered Meeting Agendas//EN')
super(Yaml2IcalCalendar, self).__init__()
self.add('prodid', '-//yaml2ical agendas//EN')
self.add('version', '2.0')
def write_to_disk(self, filename):

View File

@ -13,8 +13,8 @@
import datetime
import unittest
from arbiter import meeting
from arbiter.tests import sample_data
from yaml2ical import meeting
from yaml2ical.tests import sample_data
class MeetingTestCase(unittest.TestCase):

View File

@ -12,9 +12,9 @@
import unittest
from arbiter import meeting
from arbiter.tests import sample_data
from arbiter import utils
from yaml2ical import meeting
from yaml2ical.tests import sample_data
from yaml2ical import utils
class UtilsTestCase(unittest.TestCase):

View File

@ -13,7 +13,7 @@
import logging
import os
from arbiter import meeting
from yaml2ical import meeting
"""Utility functions."""
@ -86,14 +86,14 @@ def convert_yaml_to_ical(yaml_dir, outputdir=None, outputfile=None):
# convert meetings to a list of ical
if outputdir:
for m in meetings:
cal = meeting.GerritPoweredCalendar()
cal = meeting.Yaml2IcalCalendar()
m.add_to_calendar(cal)
filename = os.path.basename(m._filename).split('.')[0] + '.ics'
cal.write_to_disk(os.path.join(outputdir, filename))
# convert meetings into a single ical
if outputfile:
cal = meeting.GerritPoweredCalendar()
cal = meeting.Yaml2IcalCalendar()
for m in meetings:
m.add_to_calendar(cal)
cal.write_to_disk(outputfile)