1 '''
2 MoinMoin - MissionStatement Macro
3
4 Copyright (c) 2000 by Richard Jones <richard@bizarsoftware.com.au>
5 Copyright (c) 2000 by Jürgen Hermann <jh@web.de>
6 All rights reserved, see COPYING for details.
7
8 Derived from:
9 Flounder's Mission Statement Generator
10 Written 4/26/2000
11 by Scott Fitzenrider
12 flounder@bright.net
13
14 I believe the original is at:
15 http://umweb1.unitedmedia.com/comics/dilbert/duh/bin/ms_gen/ms2.cgi
16
17
18 Usage:
19 [[MissionStatement(length)]]
20
21 length The general number of statements that should appear in the
22 overall mission statement.
23
24
25 Examples:
26 [[MissionStatement]] -- generate a mission statement with 2 statements
27 [[MissionStatement(4)]] -- generate a mission statement with 4
28 statements (bordering on long-winded :)
29
30
31 $Id: $
32 '''
33
34 import random, string, copy
35
36 _phrases = {
37 'openers': [
38 'It is our business to', 'It is our job to', 'It is our mission to',
39 'It\'s our responsibility to', 'Our challenge is to',
40 'Our first priority is to', 'Our goal is to', 'Our mission is to',
41 'Our mission is to continue to', 'The customer can count on us to', 'We',
42 'We build trust and teamwork to', 'We envision to', 'We exist to',
43 'We have committed to', 'We strive to', 'We will' ],
44 'adverbs': [
45 'appropriately', 'assertively', 'authoritatively', 'collaboratively',
46 'competently', 'completely', 'continually', 'conveniently', 'credibly',
47 'distinctively', 'dramatically', 'dynamically', 'efficiently',
48 'enthusiastically', 'globally', 'holisticly', 'interactively',
49 'intrinsicly', 'objectively', 'proactively', 'professionally',
50 'progressively', 'quickly', 'seamlessly', 'synergistically' ],
51 'verbs': [
52 'actualize', 'administrate', 'build', 'communicate', 'conceptualize',
53 'coordinate', 'create', 'customize', 'develop', 'disseminate', 'empower',
54 'engineer', 'enhance', 'facilitate', 'fashion', 'foster', 'initiate',
55 'integrate', 'leverage existing', 'leverage other\'s', 'maintain',
56 'negotiate', 'network', 'parallel task', 'promote', 'provide access to',
57 'pursue', 're-engineer', 're-invent', 'restore', 'revolutionize',
58 'simplify', 'streamline', 'supply', 'utilize' ],
59 'adjectives': [
60 'accurate', 'adaptive', 'alternative', 'an expanded array of',
61 'backward-compatible', 'best of breed', 'business', 'client-based',
62 'client-centered', 'client-centric', 'client-focused', 'collaborative',
63 'competitive', 'cooperative', 'corporate', 'cost effective',
64 'cross functional', 'cross-unit', 'customer directed', 'cutting edge',
65 'distinctive', 'diverse', 'economically sound', 'effective', 'emerging',
66 'empowered', 'enabled', 'enterprise-wide', 'equity invested', 'error-free',
67 'ethical', 'excellent', 'exceptional', 'flexible', 'fully researched',
68 'fully tested', 'functional', 'functionalized', 'future-proof', 'global',
69 'go forward', 'goal-oriented', 'high standards in', 'high-payoff',
70 'high-quality', 'highly efficient', 'inexpensive', 'innovative',
71 'installed base', 'integrated', 'interactive', 'interdependent',
72 'interoperable', 'just in time', 'leading-edge', 'leveraged',
73 'long-term high-impact', 'low-risk high-yield', 'maintainable',
74 'market positioning', 'market-driven', 'mission-critical',
75 'multidisciplinary', 'multifunctional', 'multimedia based', 'optimal',
76 'orthogonal', 'parallel', 'performance based', 'premier', 'premium',
77 'principle-centered', 'proactive', 'process-centric', 'professional',
78 'progressive', 'prospective', 'quality', 'reliable', 'resource maximizing',
79 'resource-leveling', 'scalable', 'stand-alone', 'standards compliant',
80 'state of the art', 'strategic', 'superior', 'sustainable', 'tactical',
81 'team building', 'team driven', 'technically sound', 'timely', 'top-line',
82 'turn-key', 'unique', 'user friendly', 'value-added', 'virtual',
83 'world-class', 'worldwide' ],
84 'nouns': [
85 '"outside the box" thinking', 'action items', 'alignments', 'benefits',
86 'best practices', 'catalysts for change', 'collaboration and idea-sharing',
87 'content', 'core competencies', 'customer service', 'data', 'deliverables',
88 'e-business', 'expertise', 'growth strategies', 'human capital', 'ideas',
89 'imperatives', 'information', 'infrastructures', 'initiatives',
90 'innovation', 'intellectual capital', 'internal or "organic" sources',
91 'leadership', 'leadership skills', 'manufactured products', 'materials',
92 'meta-services', 'methods of empowerment', 'metrics', 'niche markets',
93 'opportunities', 'paradigms', 'potentialities', 'process improvements',
94 'processes', 'products', 'quality vectors', 'resources', 'results',
95 'scenarios', 'services', 'solutions', 'sources', 'strategic theme areas',
96 'supply chains', 'technology', 'testing procedures', 'total linkage',
97 'value' ],
98 'conjunctions': [
99 'and', 'and also', 'and continue to', 'as well as to',
100 'in order that we may', 'in order to', 'so that we may',
101 'so that we may endeavor to', 'such that we may continue to',
102 'to allow us to', 'while continuing to' ],
103 'closers': [
104 'and approach our jobs with passion an commitment',
105 'because that is what the customer expects',
106 'for 100% customer satisfaction', 'in order to solve business problems',
107 'so that we can deliver the kind of results on the bottom line that our investors expect and deserve',
108 'through continuous improvement', 'to be the best in the world',
109 'to delight the customer', 'to exceed customer expectations',
110 'to meet our customer\'s needs',
111 'to satisfy our internal and external customers',
112 'to set us apart from the competition',
113 'to stay competitive in tomorrow\'s world',
114 'while maintaining the highest standards',
115 'while promoting personal employee growth',
116 'while striving for technical leadership', 'with 100% on-time delivery',
117 'with zero defects' ]
118 }
119
120 def select(type):
121 item = random.choice(phrases[type])
122 phrases[type].remove(item)
123 return item
124
125 def execute(macro, text):
126 global phrases
127 phrases = copy.deepcopy(_phrases)
128 used = {}
129 statement = [select('openers')]
130 statement.append(select('adverbs'))
131 statement.append(select('verbs'))
132 statement.append(select('adjectives'))
133 statement.append(select('nouns'))
134 n = 2
135 if text:
136 n = int(text)
137 for i in range(n):
138 statement.append(select('conjunctions'))
139 statement.append(select('adverbs'))
140 statement.append(select('verbs'))
141 statement.append(select('adjectives'))
142 statement.append(select('nouns'))
143
144 statement.append(select('closers'))
145 return string.join(statement, ' ')+'.'
146
147 if __name__ == '__main__':
148 print execute(None, None)