Added files for election 2012
This commit is contained in:
		
							parent
							
								
									217ee7b200
								
							
						
					
					
						commit
						9a4b49d928
					
				
					 10 changed files with 840 additions and 1 deletions
				
			
		|  | @ -45,4 +45,5 @@ foundation.gnome.org/vote/2007/Makefile | |||
| foundation.gnome.org/vote/2009/Makefile | ||||
| foundation.gnome.org/vote/2010/Makefile | ||||
| foundation.gnome.org/vote/2011/Makefile | ||||
| foundation.gnome.org/vote/2012/Makefile | ||||
| ]) | ||||
|  |  | |||
							
								
								
									
										14
									
								
								foundation.gnome.org/vote/2012/Makefile.am
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								foundation.gnome.org/vote/2012/Makefile.am
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| SUBDIRS = | ||||
| 
 | ||||
| urlpath = /vote/2012 | ||||
|   | ||||
| page_SCRIPTS = \ | ||||
| 	index.html \ | ||||
| 	candidates.html\ | ||||
| 	rules.html  | ||||
| 
 | ||||
| page_DATA = \ | ||||
| 	timeline.ics | ||||
| 	mkical.py | ||||
| 
 | ||||
| include $(top_srcdir)/rules.common | ||||
							
								
								
									
										244
									
								
								foundation.gnome.org/vote/2012/candidates.wml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										244
									
								
								foundation.gnome.org/vote/2012/candidates.wml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,244 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||||
| <html> | ||||
| 
 | ||||
|   <head> | ||||
|     <title>GNOME Foundation 2012 Elections Candidates</title> | ||||
|     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> | ||||
|   </head> | ||||
| 
 | ||||
|   <body> | ||||
|     <h1>Candidates for the GNOME Foundation 2012 Elections</h1> | ||||
| 
 | ||||
|     <p> | ||||
|       Below you will find a list of candidates who are running for the | ||||
|       GNOME Foundation Board of Directors. A short summary statement from | ||||
|       each candidate and a link to their full candidacy announcement is | ||||
|       provided to help you learn more about them. We encourage all voters | ||||
|       to read the full candidacy statements and related discussions on | ||||
|       <a href="http://mail.gnome.org/archives/foundation-list/">foundation-list@gnome.org</a>. | ||||
|     </p> | ||||
| 
 | ||||
|     <p> | ||||
|       When deciding who you should vote for, please carefully consider | ||||
|       the various tasks the Board of Directors must perform. This | ||||
|       <a href="../overview.html">overview</a> may be helpful. Keep in mind that | ||||
|       the board will make a number of important decisions and will also have to | ||||
|       perform many tasks which require a significant amount of time and effort | ||||
|       and the ability to work and communicate with other people, companies, and | ||||
|       the media. The board of directors will represent GNOME to companies and | ||||
|       the world in a very real way. It is a good idea to strive for a | ||||
|       well-balanced board consisting of people with various backgrounds, | ||||
|       skills, and perspectives. | ||||
|     </p> | ||||
| 
 | ||||
|     <p> | ||||
|       Additional elections details can be found on the | ||||
|       <a href="../../">GNOME Foundation Web Site</a>. | ||||
|     </p> | ||||
| 
 | ||||
|     <p> | ||||
|       If you have any questions, please send them to either | ||||
|       <a href="http://mail.gnome.org/archives/foundation-list/">foundation-list@gnome.org</a> | ||||
|       or to us at <a | ||||
|       href="mailto:elections@gnome.org">elections@gnome.org</a>. | ||||
|     </p> | ||||
| 
 | ||||
|     <h2>Candidates for the GNOME Foundation Board of Directors</h2> | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>1. Brian Cameron</strong><br /> | ||||
|       Affiliation: <em>Oracle</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00005.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00005.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| I am running for re-election for a third term on the board.  I am | ||||
| running not just because I love GNOME, the GNOME community, and free | ||||
| software; but also because I have experience working on the board and a | ||||
| good track record of getting things done. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>2. Yang Emily Chen</strong><br /> | ||||
|       Affiliation: <em>Sun Microsystems, Inc. (Will become Oracle soon after LEC in China)</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00008.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00008.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| Hi, this Emily Chen. I participated in GNOME since 2006. Now I am continue working in GNOME community because I believe in GNOME. I worked on LDTP project in 2006, then participated in Google Summer of Code 2006 and 2007 on GNOME LDTP projects as mentor. In 2008, I started the GNOME.Asia and organized the GNOME.Asia Summit 2008 in China and GNOME.Asia Summit 2009 in Vietnam. Now I am working on the GNOME.Asia 2010, which will be host in Taiwan in August. Also, I start the Beijing GNOME Users Group in Beijing since 2008 Nov. Now Beijing GNOME Users Group is one of the most active organization in Beijing. I want to make GNOME grow in Beijing, China, and Asia, it is meaningful to promote GNOME to more people, especially in Asia, because I see many opportunity and good community here in Asian. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>3. Baris Cicek</strong><br /> | ||||
|       Affiliation: <em>Nerd Software</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00015.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00015.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| I'm 27 years old, and contributing GNOME since early 2000s. I've been | ||||
| taking role of GNOME Turkish translation coordinator since 2004, and in | ||||
| past served community at GNOME Membership and Elections committee for | ||||
| three years. My last but not the least significant contribution was | ||||
| organizing GUADEC 2008 which was held in Istanbul.  | ||||
| 
 | ||||
| Since from the day one I've also been trying to contribute with | ||||
| occasional bug reports and patches for various GNOME applications as | ||||
| well. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>4. Paul Cutler</strong><br /> | ||||
|       Affiliation: <em>Novell</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00002.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00002.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| Hi, I'm Paul and I've been contributing to GNOME since 2006 in | ||||
| documentation, marketing and the web team. I have been on the Board for | ||||
| the last two months having been asked to fill Behdad's term. I think the | ||||
| GNOME Foundation is doing very well and the future is bright with GNOME | ||||
| 3.0 just around the corner. I want to help promote GNOME 3 and continue | ||||
| to improve the communication between the Board, the GNOME communities | ||||
| and GNOME's partners to help GNOME grow. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>5. Seif Lotfy</strong><br /> | ||||
|       Affiliation: <em>None</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00014.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00014.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
|    Hello, I'm Seif Lotfy, I have been using GNOME since 2004 | ||||
| and participated starting 2007. I enjoy being part of the community and | ||||
| enjoy spreading GNOME. | ||||
| 
 | ||||
|   I initiated Zeitgeist and GNOME activity Journal, and dedicated most of | ||||
| my time developing them and building a community around both. Now I would | ||||
| love to start contributing in other parts of GNOME. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>6. Og Maciel</strong><br /> | ||||
|       Affiliation: <em>rPath Inc</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00004.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00004.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| The GNOME Project has allowed me to take my first steps into the world | ||||
| of collaborative projects and long nights of translation sprints. Due | ||||
| to my open minded attitude, I have been able to get involved in many | ||||
| different projects and work with a great number of interesting people. | ||||
| 
 | ||||
| My passion is in the community aspect of these projects and how to | ||||
| better integrate new comers and volunteers with the rest of the | ||||
| community. I am also extremely interested in how we, the open source | ||||
| community as a whole, can leverage this immense pool of ideas and | ||||
| projects, and use it to the benefit of all. | ||||
| 
 | ||||
| If elected to the board, I will bring in my experience of building | ||||
| communities and guiding/enabling users to become more active in the | ||||
| GNOME Project. After all, the GNOME Project IS about people! I will | ||||
| also push to make accessibility a high priority for the project. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>7. Andreas Nilsson</strong><br /> | ||||
|       Affiliation: <em>None</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00013.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00013.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| I'm Andreas Nilsson, 28 years old, from Sweden. I've been part of the GNOME community since around 2005 and do all kinds of visual stuff for the project. Websites, t-shirts, icons, etc. as part of the Art team and the Marketing team. I run my own freelance design company in Gothenburg and this is my candidacy for GNOME Board of Directors. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>8. Bastien Nocera</strong><br /> | ||||
|       Affiliation: <em>Red Hat UK Ltd., a wholly owned subsidiary of Red | ||||
| Hat Inc.</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00016.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00016.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| I'm a 31 year-old French Anglophile, who has been involved in GNOME for | ||||
| more than 10 years, first as an application developer, then as a core | ||||
| hacker (though I did not hack on gnome-core[1] at the time). | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>9. Germán Póo-Caamaño</strong><br /> | ||||
|       Affiliation: <em>None </em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00017.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00017.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
|         I am a contributor since 2000 and I am running for re-election | ||||
|         for the Foundation Board because I am confident there is plenty | ||||
|         of room where I can help to Gnome and its community, as in the | ||||
|         last year, bringing a different perspective and an independent | ||||
|         voice. | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>10. Diego Escalante Urrelo</strong><br /> | ||||
|       Affiliation: <em>Igalia S.L.</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00009.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00009.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
|     I'm Diego, 22, from good old Lima - Perú. I've been involved | ||||
|     since 2006, I've contributed with code, bug triaging, accounts | ||||
|     administration, promotion with/at events, organization, Board, etc. | ||||
| 
 | ||||
|     I love GNOME and our community, it's awesome :). | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <p> | ||||
|       <strong>11. Jonh Wendell</strong><br /> | ||||
|       Affiliation: <em>Santo Antonio Sugar Company</em><br /> | ||||
|       Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2010-May/msg00003.html">http://mail.gnome.org/archives/foundation-announce/2010-May/msg00003.html</a> | ||||
|     </p> | ||||
|     <blockquote> | ||||
| I've been using GNOME since 2005 and contributing since 2006. | ||||
| I love GNOME. I love to spread GNOME. I love to bring new | ||||
| contributors to GNOME. That's why I'm running for the board | ||||
| of directors (for the first time). | ||||
|     </blockquote> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <h2>Additional Elections-related Information</h2> | ||||
| 
 | ||||
|     <p> | ||||
|       Note, that according to the | ||||
|       <a href="../../about/bylaws.pdf">Bylaws</a> Article VIII Section 2d | ||||
|       there is a 2-person maximum on the number of people affiliated with any | ||||
|       one company that can be on the board: if more than 2 persons from one | ||||
|       company get elected, only the top 2 vote getters will get on. | ||||
|       You will be able to vote for up to 7 candidates of your choice, with no | ||||
|       restrictions, except that you cannot vote more than once for the same | ||||
|       candidate. | ||||
|     </p> | ||||
| 
 | ||||
|     <p> | ||||
|       If you have any futher question, please consult the | ||||
|       <a href="rules.html">Rules for this election</a> or write to | ||||
|       <a href="mailto:elections@gnome.org">elections@gnome.org</a>. | ||||
|     </p> | ||||
| 
 | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										63
									
								
								foundation.gnome.org/vote/2012/index.wml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								foundation.gnome.org/vote/2012/index.wml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,63 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||||
| <html> | ||||
| 
 | ||||
|   <head> | ||||
|     <title>GNOME Foundation 2012 Elections</title> | ||||
|     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||
|     <meta name="author" content="Tobias Mueller" /> | ||||
|   </head> | ||||
| 
 | ||||
|   <body> | ||||
| 
 | ||||
|     <h1>GNOME Foundation 2012 Elections</h1> | ||||
| 
 | ||||
|     <p> | ||||
|       The GNOME Foundation Membership currently elects the Board of  | ||||
|       Directors each year for July, 1st. Any member can nominate  | ||||
|       themself to run in the elections. The overall elections process  | ||||
|       is overseen by the Membership and Elections Committee, which can  | ||||
|       be reached at <a | ||||
|       href="mailto:elections@gnome.org">elections@gnome.org</a>. | ||||
|     </p> | ||||
| 
 | ||||
|     <p> | ||||
|       The elections results from the 2012 Board of Directors elections  | ||||
|       will be archived here for public access. | ||||
|     </p> | ||||
| 
 | ||||
|     <h2>2012 Elections Materials:</h2> | ||||
|     <ul> | ||||
|         <!-- <li> | ||||
|             <a href="http://mail.gnome.org/archives/foundation-announce/2012-June/msg00004.html">Election results announcement</a> | ||||
|         </li> | ||||
|         <li> | ||||
|             <a href="../../vote/results.php?election_id=16">Detailed election results</a> | ||||
|         </li> | ||||
|         <li> | ||||
|             <a href="../../vote/votes.php?election_id=16">List of all votes</a> | ||||
|         </li> | ||||
|         <li> | ||||
|             <a href="../../vote/vote.php?election_id=16">Interface to vote</a> | ||||
|         </li> | ||||
|         <li> | ||||
|             <a href="candidates.html">List of candidates for Board of Directors</a> | ||||
|         </li> | ||||
|         --> | ||||
| 
 | ||||
|         <li> | ||||
|             <a href="http://foundation.gnome.org/membership/members.php?date=2012-05-30">List of registered voters</a> | ||||
|         </li> | ||||
|      | ||||
|         <li> | ||||
|             <a href="rules.html">Elections Rules and Timeline</a> (webcal <a | ||||
|             href="webcal://foundation.gnome.org/elections/2012/timeline.ics">timeline</a>) | ||||
|         </li> | ||||
|      | ||||
|         <li> | ||||
|             <a href="../overview.html">Overview of the Board of Directors role</a> | ||||
|         </li> | ||||
|     </ul> | ||||
| 
 | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										258
									
								
								foundation.gnome.org/vote/2012/mkical.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										258
									
								
								foundation.gnome.org/vote/2012/mkical.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,258 @@ | |||
| #!/usr/bin/env python | ||||
| ''' | ||||
| This Python script creates a simple iCal file based on hardcoded events | ||||
| in this file. | ||||
| ''' | ||||
| 
 | ||||
| import calendar | ||||
| import datetime | ||||
| import logging | ||||
| import math | ||||
| import os | ||||
| import vobject | ||||
| 
 | ||||
| 
 | ||||
| #### Configure these variables | ||||
| YEAR = 2012 | ||||
| CANDIDATES_OPENED_DATE    = (YEAR, 5,  7) | ||||
| CANDIDATES_CLOSED_DATE    = (YEAR, 5, 20) | ||||
| CANDIDATES_ANNOUNCED_DATE = (YEAR, 5, 23) | ||||
| VOTING_OPENED_DATE        = (YEAR, 5, 27) | ||||
| VOTING_CLOSED_DATE        = (YEAR, 6, 10) | ||||
| PRELIMINARY_RESULTS_DATE  = (YEAR, 6, 12) | ||||
| CHALLENGE_CLOSED_DATE     = (YEAR, 6, 19) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### I'm sorry that these functions clutter your calendar-creating experience | ||||
| ### Please scroll down a bit to edit the description texts | ||||
| 
 | ||||
| #### Application Data | ||||
| def c(multilinestring): | ||||
|     ''' | ||||
|     A helper functions which cleans up a multiline string, so that | ||||
|     it doesn't contain any newlines or multiple whitespaces | ||||
|     ''' | ||||
|     stripped = [l.strip() for l in multilinestring.splitlines()] | ||||
|     ret = " ".join (stripped) | ||||
|     return ret | ||||
|      | ||||
| def d(year, month, day): | ||||
|     ''' | ||||
|     Just a tiny wrapper around datetime.datetime to create a datetime object | ||||
|     ''' | ||||
|     return datetime.date(year, month, day) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| CANDIDATES_OPENED = ( | ||||
|     d(*CANDIDATES_OPENED_DATE), | ||||
|     'Announcements and list of candidates opens', | ||||
|     c("""If you are a member of the GNOME Foundation and are interested  | ||||
|     in running for election, you may nominate yourself by sending an  | ||||
|     e-mail to foundation-announce@gnome.org with your name, e-mail  | ||||
|     address, corporate affiliation (if any), and a description of why  | ||||
|     you'd like to serve, before | ||||
|     %s (23:59 UTC).""" % d(*CANDIDATES_CLOSED_DATE)) + ''' | ||||
|     ''' + c("""     | ||||
|     You should also send a summary of your candidacy announcement  | ||||
|     (75 words or less) to elections@gnome.org. If you are not yet a  | ||||
|     GNOME Foundation member and would like to stand for election,  | ||||
|     you must first apply for membership and be accepted to be eligible  | ||||
|     to run. (You may, however, announce your candidacy prior to formal  | ||||
|     acceptance of your application; | ||||
|     should your application not be accepted, you will not be included in  | ||||
|     the list of candidates.)""") + ''' | ||||
|     ''' | ||||
| ) | ||||
| 
 | ||||
| CANDIDATES_CLOSED = ( | ||||
|     d(*CANDIDATES_CLOSED_DATE), | ||||
|     'List of candidates closed', | ||||
|     CANDIDATES_OPENED[2] # Get the same text again | ||||
| ) | ||||
| 
 | ||||
| CANDIDATES_ANNOUNCED = ( | ||||
|     d(*CANDIDATES_ANNOUNCED_DATE), | ||||
|     'List of candidates announced', | ||||
|     'You may now start to send your questions to the candidates' | ||||
| ) | ||||
| 
 | ||||
| VOTING_OPENED = ( | ||||
|     d(*VOTING_OPENED_DATE), | ||||
|     'Instructions to vote are sent', | ||||
|     'Please read your email and follow these instructions and submit your vote by %s' % d(*VOTING_CLOSED_DATE) | ||||
| ) | ||||
| VOTING_CLOSED = ( | ||||
|     d(*VOTING_CLOSED_DATE), | ||||
|     'Votes must be returned', | ||||
|     'Preliminary results are announced on %s' % d(*PRELIMINARY_RESULTS_DATE) | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| PRELIMINARY_RESULTS = ( | ||||
|     d(*PRELIMINARY_RESULTS_DATE), | ||||
|     'Preliminary results are announced', | ||||
|     'The preliminary results can be challenged until %s' % d(*CHALLENGE_CLOSED_DATE) | ||||
| ) | ||||
| 
 | ||||
| CHALLENGE_CLOSED = ( | ||||
|     d(*CHALLENGE_CLOSED_DATE), | ||||
|     'Challenges to the results closed', | ||||
|     "If there weren't any challenges, preliminary results are valid" | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| def create_ical(eventlist): | ||||
|     '''Generates an ical stream based on the list given as eventlist. | ||||
|     The list shall contain elements with a tuple with a | ||||
|     (date, string, string) object, serving as date when the event takes place, | ||||
|     summary and description respectively. | ||||
|     ''' | ||||
|     log = logging.getLogger('create_ical') | ||||
| 
 | ||||
|     cal = vobject.iCalendar() | ||||
|     cal.add('method').value = 'PUBLISH' | ||||
|     cal.add('calscale').value = 'GREGORIAN' | ||||
|     cal.add('x-wr-timezone').value = 'UTC' | ||||
|      | ||||
|     for (timestamp, summary, description) in eventlist: | ||||
|         log.debug('creating %s, %s', timestamp, description) | ||||
|         vevent = cal.add('vevent') | ||||
|         vevent.add('dtstart').value = timestamp | ||||
|         vevent.add('dtend').value = timestamp + datetime.timedelta(1) | ||||
|         vevent.add('summary').value = summary | ||||
|         vevent.add('description').value = description | ||||
|      | ||||
|     stream = cal.serialize() | ||||
|     return stream | ||||
| 
 | ||||
| 
 | ||||
| def wraptext(s, width): | ||||
|     '''Wraps a string @s at @width characters. | ||||
|      | ||||
|     >>> wraptext('fooo', 2) | ||||
|     ['fo','oo'] | ||||
|     ''' | ||||
|     l = len(s) | ||||
|     nr_frames = int(math.ceil(float(l)/width)) | ||||
|     print nr_frames | ||||
|     frames = [] | ||||
|     for i in xrange(nr_frames): | ||||
|         start, end = i*width, (i+1) * width | ||||
|         frames.append(s[start:end]) | ||||
|         # One could (and prolly should) yield that | ||||
|     return frames | ||||
| 
 | ||||
| def ordinal(n): | ||||
|     n = int(n) | ||||
|     if 10 <= n % 100 < 20: | ||||
|         return str(n) + 'th' | ||||
|     else: | ||||
|        return  str(n) + {1 : 'st', 2 : 'nd', 3 : 'rd'}.get(n % 10, "th") | ||||
|                         | ||||
| 
 | ||||
| def cal_for_month(month, events, width=80, year=datetime.datetime.now().year): | ||||
|     '''Generates a textual calendar for the @month in @year. | ||||
|     It will return a string with the calendar on the left hand side and the | ||||
|     events on the right hand side. | ||||
|     @events shall be a list with tuples: timestamp, summary, description. | ||||
|      | ||||
|     Returns a string with the calendar | ||||
|     ''' | ||||
|     log = logging.getLogger('cal_for_month') | ||||
| 
 | ||||
|     cal = calendar.TextCalendar() | ||||
|     calstrings = cal.formatmonth(year, month, 3).splitlines() | ||||
| 
 | ||||
|     for (timestamp, summary, description) in events: | ||||
|         log.debug('creating %s, %s', timestamp, summary) | ||||
|         year, month, day = timestamp.year, timestamp.month, timestamp.day | ||||
|         maxwidth = max([len(cs) for cs in calstrings]) | ||||
|         rightwidth = 80 - maxwidth | ||||
|         for i, line in enumerate(calstrings): | ||||
|             needles =      (" %d " % day, | ||||
|                            " %d\n" % day) | ||||
|             replacement = "(%d)" % day | ||||
|             # Find the day so that we can highlight it and add a comment | ||||
|             day_in_week = False | ||||
|             for needle in needles: | ||||
|                 if needle in line+"\n": | ||||
|                     # k, this looks a bit weird but we have that corner  | ||||
|                     # case with the day being at the end of the line  | ||||
|                     # which in turn will have been split off | ||||
|                     day_in_week = True | ||||
|                     break # Set the needle to the found one | ||||
|             if day_in_week == False: # Nothing found, try next week | ||||
|                 log.debug('Day (%d) not found in %s', day, line) | ||||
|                 continue | ||||
|             else: | ||||
|                 log.debug('Day (%d) found in %s', day, line) | ||||
|                 new_line = (line+"\n").replace(needle, replacement).rstrip() | ||||
|                 new_line += "   %s (%s)" % (summary, ordinal(day)) | ||||
|                 # Replace in-place for two events in the same week | ||||
|                 # FIXME: This has bugs :-(  | ||||
|                 calstrings[i] = new_line | ||||
|                      | ||||
|     return os.linesep.join(calstrings) | ||||
| 
 | ||||
| def create_textcal(eventlist): | ||||
|     '''Generates a multiline string containing a calendar with the  | ||||
|     events written on the side | ||||
|     The list shall contain elements with a tuple with a | ||||
|     (date, string, string) object, serving as date when the event takes place, | ||||
|     summary and description respectively. | ||||
|     ''' | ||||
|     log = logging.getLogger('textcal') | ||||
|     log.debug('Generating from %s', eventlist) | ||||
|     months = set(map(lambda x: x[0].month, eventlist)) | ||||
|     year = set(map(lambda x: x[0].year, eventlist)).pop() | ||||
|      | ||||
|     final_cal = [] | ||||
|     for month in months: | ||||
|         events = filter(lambda x: x[0].month == month, eventlist) | ||||
|         log.debug('Events for %d: %s', month, events) | ||||
|         month_cal = cal_for_month(month, events, year=year) | ||||
|         final_cal.append(month_cal) | ||||
|          | ||||
|     return os.linesep.join(final_cal) | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     from optparse import OptionParser | ||||
|     parser = OptionParser("usage: %prog [options]") | ||||
|     parser.add_option("-l", "--loglevel", dest="loglevel", help="Sets the loglevel to one of debug, info, warn, error, critical",  | ||||
|                       default=None) | ||||
|     parser.add_option("-i", "--ical", | ||||
|                       action="store_true", dest="ical", default=False, | ||||
|                       help="print iCal file to stdout") | ||||
|     parser.add_option("-t", "--textcal", | ||||
|                       action="store_true", dest="tcal", default=False, | ||||
|                       help="print textual calendar to stdout") | ||||
|     (options, args) = parser.parse_args() | ||||
| 
 | ||||
|     loglevel = {'debug': logging.DEBUG, 'info': logging.INFO, | ||||
|                 'warn': logging.WARN, 'error': logging.ERROR, | ||||
|                 'critical': logging.CRITICAL}.get(options.loglevel, "warn") | ||||
|     logging.basicConfig( level=loglevel ) | ||||
|     log = logging.getLogger() | ||||
|      | ||||
|     eventlist = [ | ||||
|         CANDIDATES_OPENED, | ||||
|         CANDIDATES_CLOSED, | ||||
|         CANDIDATES_ANNOUNCED, | ||||
|         VOTING_OPENED, | ||||
|         VOTING_CLOSED, | ||||
|         PRELIMINARY_RESULTS, | ||||
|         CHALLENGE_CLOSED, | ||||
|     ] | ||||
|      | ||||
|     if not any([options.ical, options.tcal]): | ||||
|         parser.error("You want to select either ical or textcal output. See --help for details") | ||||
|     if options.ical: | ||||
|         ical = create_ical( eventlist ) | ||||
|         print ical | ||||
|     if options.tcal: | ||||
|         tcal = create_textcal( eventlist ) | ||||
|         print tcal | ||||
							
								
								
									
										144
									
								
								foundation.gnome.org/vote/2012/rules.wml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								foundation.gnome.org/vote/2012/rules.wml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,144 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||||
| <html> | ||||
| 
 | ||||
|   <head> | ||||
|     <title>GNOME Foundation 2012 Elections Rules</title> | ||||
|     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||
|   </head> | ||||
| 
 | ||||
|   <body> | ||||
| 
 | ||||
|     <h1>Rules & Timeline for the GNOME Foundation 2012 Elections</h1> | ||||
| 
 | ||||
|     <h2>Elections Rules</h2>  | ||||
| 
 | ||||
|     <ol> | ||||
|       <li> | ||||
|         See the <a href="../../about/charter/">GNOME Foundation charter</a> for | ||||
|         general rules. | ||||
|       </li> | ||||
|       <li> | ||||
| 	There are 7 board slots that are to be filled during these elections. | ||||
|       </li> | ||||
|       <li> | ||||
|         Members of the GNOME Foundation as of | ||||
|         <!-- CANDIDATES_ANNOUNCED_DATE -->2012-05-23 | ||||
|          | ||||
|         are eligible to vote in the elections. Anyone who has made a  | ||||
|         contribution to GNOME can apply for membership by completing the | ||||
|         <a href="../../membership/application.php">application</a>. | ||||
|         Also, your membership needs to be valid at least until the end of the | ||||
|         elections | ||||
|         (<!-- CHALLENGE_CLOSED_DATE -->2012-06-19). | ||||
|          | ||||
|       </li> | ||||
|       <li> | ||||
|         Any eligible voter is eligible to be elected to the Board of Directors. | ||||
|         To announce your candidacy, send a message to | ||||
|         <a href="http://mail.gnome.org/archives/foundation-announce/">foundation-announce@gnome.org</a> | ||||
|         with your full name, e-mail, corporate affiliation (if any), and a | ||||
|         description of your reasons for wanting to serve as a director. | ||||
|         Candidacies must be announced prior to | ||||
|         <!-- CANDIDATES_CLOSED_DATE -->2012-05-20, 23:59 UTC. | ||||
|          | ||||
|       </li> | ||||
|       <li> | ||||
|         All candidates should mail a summary of their candicacy announcement | ||||
|         (see previous rule) to <a | ||||
|         href="mailto:elections@gnome.org">elections@gnome.org</a>. | ||||
|         Summaries should be no more than 75 words of continuous text (i.e. no | ||||
|         bullet lists or multiple paragraphs) and must be received by the | ||||
|         nomination deadline given above. A compilation of the summaries will | ||||
|         be mailed to all registered voters several days prior to the elections. | ||||
|       </li> | ||||
|       <li> | ||||
|         All discussion related to the elections should be held on | ||||
|         <a href="http://mail.gnome.org/archives/foundation-list/">foundation-list@gnome.org</a>. | ||||
|         Members are invited to ask questions to one or all candidates on that | ||||
|         list. | ||||
|       </li> | ||||
|       <li> | ||||
|       	Instructions explaining how to vote will be sent via e-mail to all | ||||
|       	eligible voters on | ||||
|       	<!-- VOTING_OPENED_DATE -->2012-05-27, | ||||
|       	 | ||||
|       	and votes must be returned by | ||||
|       	<!-- VOTING_CLOSED_DATE -->2012-06-11, 23:59 UTC. | ||||
|       </li> | ||||
|       <li> | ||||
|         Votes will be held confidential during the elections, but an  | ||||
|         anonymized archive of all submitted votes will be made publicly  | ||||
|         accessible at its conclusion. | ||||
|       </li> | ||||
|       <li> | ||||
|         The GNOME Foundation Membership and Elections Committee is | ||||
|         responsible for counting the votes. | ||||
|       </li> | ||||
|       <li> | ||||
| 	The 7 candidates voted for most as counted by a <a href="http://mail.gnome.org/archives/foundation-list/2009-March/msg00012.html">single transferable | ||||
| 	vote system</a> will be elected, except that no more than two | ||||
| 	individuals affiliated with any one corporation may be elected. Should | ||||
| 	more than two of the top seven vote-getters be affiliated with the | ||||
| 	same company, only the two with the most votes will be considered | ||||
| 	elected. For a full definition of corporate affiliation, see the | ||||
| 	<a href="../../about/charter/">GNOME Foundation charter</a>. | ||||
|       </li> | ||||
|       <li> | ||||
|         In the event of a tie for the final slot on the board, the Elections | ||||
|         Committee will schedule run-off elections as soon as possible.  | ||||
|       </li> | ||||
|       <li> | ||||
|         The Elections Committee will announce preliminary results as soon as | ||||
|         possible after the elections close, along with instructions on how to | ||||
|         access the votes archive and how to independently verify the vote | ||||
|         count. | ||||
|       </li> | ||||
|       <li> | ||||
|         Any eligible voter may challenge the preliminary results by e-mailing | ||||
|         <a | ||||
|         href="mailto:elections@gnome.org">elections@gnome.org</a> | ||||
|         prior to | ||||
|         <!-- PRELIMINARY_RESULTS_DATE -->2012-06-19. | ||||
|          | ||||
|         The decision of the Elections Committee as | ||||
|         to any challenge shall be final. Once any challenges have been | ||||
|         resolved, the Elections Committee shall announce the final results. | ||||
|       </li> | ||||
|       <li> | ||||
|         Any questions regarding these procedures should be directed to the | ||||
|         Elections Committee by e-mail to <a | ||||
|         href="mailto:elections@gnome.org">elections@gnome.org</a>. | ||||
|         The committee shall have the power to make any necessary changes or | ||||
|         clarifications to these rules at any point during the elections. | ||||
|       </li> | ||||
|     </ol> | ||||
| 
 | ||||
|     <h2>Timeline</h2> | ||||
|     <p><small>(all deadlines are 23:59 UTC)</small></p>  | ||||
|     <ul> | ||||
|       <li> | ||||
|         <!-- CANDIDATES_OPENED_DATE -->2012-05-07: Announcements and list of candidates opens. | ||||
|       </li> | ||||
|       <li> | ||||
|         <!-- CANDIDATES_CLOSED_DATE -->2012-05-20: Last day to announce candidacies, submit summary statements. | ||||
|       </li> | ||||
|       <li> | ||||
|         <!-- CANDIDATES_ANNOUNCED_DATE -->2012-05-23: Final list of candidates. | ||||
|       </li> | ||||
|       <li> | ||||
|         <!-- VOTING_OPENED_DATE -->2012-05-27: Instructions mailed to eligible voters, voting begins. | ||||
|       </li> | ||||
|       <li> | ||||
|         <!-- VOTING_CLOSED_DATE -->2012-06-10: Voting closes. | ||||
|       </li> | ||||
|       <li> | ||||
|         <!-- PRELIMINARY_RESULTS_DATE -->2012-06-12: Preliminary results are announced. | ||||
|       </li> | ||||
|       <li> | ||||
|         <!-- CHALLENGE_CLOSED_DATE -->2012-06-19: Last day to challenge preliminary results. | ||||
|       </li> | ||||
|     </ul> | ||||
| 
 | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										79
									
								
								foundation.gnome.org/vote/2012/timeline.ics
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								foundation.gnome.org/vote/2012/timeline.ics
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,79 @@ | |||
| BEGIN:VCALENDAR | ||||
| VERSION:2.0 | ||||
| CALSCALE:GREGORIAN | ||||
| METHOD:PUBLISH | ||||
| PRODID:-//PYVOBJECT//NONSGML Version 1//EN | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-98567@xbox | ||||
| DTSTART;VALUE=DATE:20120507 | ||||
| DTEND;VALUE=DATE:20120508 | ||||
| DESCRIPTION:If you are a member of the GNOME Foundation and are interested | ||||
|   in running for election\, you may nominate yourself by sending an e-mail  | ||||
|  to foundation-announce@gnome.org with your name\, e-mail address\, corpora | ||||
|  te affiliation (if any)\, and a description of why you'd like to serve\, b | ||||
|  efore 2012-05-20 (23:59 UTC).\n     You should also send a summary of your | ||||
|   candidacy announcement (75 words or less) to elections@gnome.org. If you  | ||||
|  are not yet a GNOME Foundation member and would like to stand for election | ||||
|  \, you must first apply for membership and be accepted to be eligible to r | ||||
|  un. (You may\, however\, announce your candidacy prior to formal acceptanc | ||||
|  e of your application\; should your application not be accepted\, you will | ||||
|   not be included in the list of candidates.)\n     | ||||
| SUMMARY:Announcements and list of candidates opens | ||||
| END:VEVENT | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-2533@xbox | ||||
| DTSTART;VALUE=DATE:20120520 | ||||
| DTEND;VALUE=DATE:20120521 | ||||
| DESCRIPTION:If you are a member of the GNOME Foundation and are interested | ||||
|   in running for election\, you may nominate yourself by sending an e-mail  | ||||
|  to foundation-announce@gnome.org with your name\, e-mail address\, corpora | ||||
|  te affiliation (if any)\, and a description of why you'd like to serve\, b | ||||
|  efore 2012-05-20 (23:59 UTC).\n     You should also send a summary of your | ||||
|   candidacy announcement (75 words or less) to elections@gnome.org. If you  | ||||
|  are not yet a GNOME Foundation member and would like to stand for election | ||||
|  \, you must first apply for membership and be accepted to be eligible to r | ||||
|  un. (You may\, however\, announce your candidacy prior to formal acceptanc | ||||
|  e of your application\; should your application not be accepted\, you will | ||||
|   not be included in the list of candidates.)\n     | ||||
| SUMMARY:List of candidates closed | ||||
| END:VEVENT | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-67367@xbox | ||||
| DTSTART;VALUE=DATE:20120523 | ||||
| DTEND;VALUE=DATE:20120524 | ||||
| DESCRIPTION:You may now start to send your questions to the candidates | ||||
| SUMMARY:List of candidates announced | ||||
| END:VEVENT | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-36748@xbox | ||||
| DTSTART;VALUE=DATE:20120527 | ||||
| DTEND;VALUE=DATE:20120528 | ||||
| DESCRIPTION:Please read your email and follow these instructions and submi | ||||
|  t your vote by 2012-06-10 | ||||
| SUMMARY:Instructions to vote are sent | ||||
| END:VEVENT | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-82792@xbox | ||||
| DTSTART;VALUE=DATE:20120610 | ||||
| DTEND;VALUE=DATE:20120611 | ||||
| DESCRIPTION:Preliminary results are announced on 2012-06-12 | ||||
| SUMMARY:Votes must be returned | ||||
| END:VEVENT | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-79881@xbox | ||||
| DTSTART;VALUE=DATE:20120612 | ||||
| DTEND;VALUE=DATE:20120613 | ||||
| DESCRIPTION:The preliminary results can be challenged until 2012-06-19 | ||||
| SUMMARY:Preliminary results are announced | ||||
| END:VEVENT | ||||
| BEGIN:VEVENT | ||||
| UID:20110504T161927Z-71057@xbox | ||||
| DTSTART;VALUE=DATE:20120619 | ||||
| DTEND;VALUE=DATE:20120620 | ||||
| DESCRIPTION:If there weren't any challenges\, preliminary results are vali | ||||
|  d | ||||
| SUMMARY:Challenges to the results closed | ||||
| END:VEVENT | ||||
| X-WR-TIMEZONE:UTC | ||||
| END:VCALENDAR | ||||
| 
 | ||||
							
								
								
									
										35
									
								
								foundation.gnome.org/vote/2012/voting-instructions.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								foundation.gnome.org/vote/2012/voting-instructions.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | |||
| tobiasmue@gnome.org | ||||
| GNOME Foundation Board election - voting instructions | ||||
| 
 | ||||
| Dear <member> | ||||
| 
 | ||||
| The election of the GNOME Foundation Board is now open.  | ||||
| 
 | ||||
| Voting will run from 2012-05-27 (today) until 2010-06-10, 23:59 UTC. | ||||
| 
 | ||||
| To vote, please go to http://foundation.gnome.org/vote/vote.php?id=16 | ||||
| and follow the instructions there. | ||||
| 
 | ||||
| A list of candidates and their reasons for running is available at | ||||
| http://foundation.gnome.org/elections/2012/candidates.html | ||||
| 
 | ||||
| When instructed to do so, enter the following details: | ||||
| 
 | ||||
|    E-mail: | ||||
|    Vote token: | ||||
| 
 | ||||
| The election has 4 steps - first, you must identify yourself using the  | ||||
| voting token above. Then select your preferred candidates in order of  | ||||
| preference. A third step will show you your choice, and ask you to  | ||||
| confirm or return to the previous step. Finally, after confirming your  | ||||
| choice, a unique identifier will be given to you which will allow you to  | ||||
| verify after the election that your vote was counted correctly. To ensure  | ||||
| anonymity, no link will be kept between this token and your identifiers,  | ||||
| so please keep this token safe. Once you have voted, you will not be able  | ||||
| to vote again. | ||||
| 
 | ||||
| Thank you for your vote! | ||||
| 
 | ||||
| Regards, | ||||
|   Tobias Mueller | ||||
|   on behalf of the GNOME Membership and Elections Commitee | ||||
|  | @ -1,4 +1,4 @@ | |||
| SUBDIRS = include 2004-10 2005-10 2000 2001 2002 2003 2004 2005 2006 2007 2009 2010 2011 | ||||
| SUBDIRS = include 2004-10 2005-10 2000 2001 2002 2003 2004 2005 2006 2007 2009 2010 2011 2012 | ||||
| 
 | ||||
| urlpath = /vote | ||||
|   | ||||
|  |  | |||
|  | @ -27,6 +27,7 @@ | |||
|     </p> | ||||
| 
 | ||||
|     <ul> | ||||
|       <li><a href="2012/">Material from the Spring 2012 Elections</a></li> | ||||
|       <li><a href="2011/">Material from the Spring 2011 Elections</a></li> | ||||
|       <li><a href="2010/">Material from the Spring 2010 Elections</a></li> | ||||
|       <li><a href="2009/">Material from the Spring 2009 Elections</a></li> | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Tobias Mueller
						Tobias Mueller