Пример #1
0
 def saveConfiguration(self):
     if not isinstance(self.settings, Settings):
         utils.s("* Error saving settings (nothing to save)")
         return
     try:
         pickler = pickle.Pickler(open(configFile, 'wb'))
         pickler.dump(self.settings)
     except:
         utils.s("* Error: could not save configuration to file %s" % configFile)
         return
Пример #2
0
def get_user_name():
	user = ""
	user_in = False
	while user_in is False:
		print "Please enter your name (between 3 and 20 characters long):"
		user = raw_input()
		if valid_username(user):
			user_in = True
		else:
			print "Invalid username! Do you want to die a nameless hero???"
			s()
	return user
Пример #3
0
 def loadConfiguration(self):
     '''Load saved configuration of app. If the config file is
     not found or cannot be read, a new settings object is returned
     with defaults. Settings will be validated and are assured not to
     contain thesauri for which the file does not exist.'''
     if not os.path.exists(configFile):
         return settings.getDefaultSettings()
     try:
         unpickler = pickle.Unpickler(open(configFile, 'rb'))
         msettings = unpickler.load()
         if not isinstance(msettings, Settings):
             return msettings.getDefaultSettings()
         msettings.validate()
         utils.s("* Loaded previously saved settings.")
         return msettings
     except:
         utils.s(" --> Error loading saved settings.")
         return settings.getDefaultSettings()
Пример #4
0
def generate_csvreport(ofile, filename):
    """Adlib fieldstats CSV report.
    Write HTML report of fieldstats using CSV input file with given name.
    These fieldstats are a general statistic about the occurence of fields
    in a dataset."""
    utils.s("> generate_csvreport(%s)" % (filename))
    utils.s("  + generating fieldstats")
    fs = fieldstats.FieldStats(filename, type="csv")

    ofile.write("<h1>Records in bestand: %s</h1>\n" % dn(filename))
    ofile.write("<p>Aantal records: %s</p>\n" % fs.totaldocs)
    ofile.write(
        htmlutils.HelpElement(
            show="Toon uitleg bij deze tabel",
            help="""
    <p>Onderstaande tabel toont alle velden die ingevuld werden voor minstens 
    &eacute;&eacute;n record uit de lijst. Voor elk veld wordt volgende
    informatie getoond:</p>
    <dl>
      <dt>VELD</dt><dd>De naam van het veld.</dd>
      <dt>% GEBRUIKT</dt><dd>Het percentage van de records waarvoor dit veld is ingevuld.
          Opgepast: een waarde "0" geldt ook als ingevuld.</dd>
      <dt>AANTAL</dt><dd>Het aantal records waarvoor dit veld is ingevuld.</dd>
      <dt>MEERVOUDIGE WAARDE</dt><dd>Dit geeft aan hoeveel keer het veld 
          <em>gemiddeld</em> is ingevuld per record. Een waarde van "1.2" betekent dat het 
          veld meestal slechts &eacute;&eacute;nmaal is ingevuld, maar voor sommige records
          twee (of meerdere) keren.<br/>
          Indien het veld meermaals is ingevuld voor ook maar &eacute;&eacute;n record, wordt
          het vakje paars gekleurd.</dd>
      <dt>GEM. VELDLENGTE</dt><dd>Het gemiddeld aantal karakters dat ingevuld werd in het veld.</dd>
      <dt>UNIEKE WAARDEN</dt><dd>Het aantal verschillende waarden dat ingevuld werd in dit veld.<br/>
          Voorbeeldje:<br/>
          Elk record zou een eigen, unieke "Naam" moeten hebben, dus
          moeten er evenveel unieke waarden ingevuld zijn als het aantal records.
      </dd>
    </dl>
    <p>Je kunt op de kolomtitel klikken om de tabel te sorteren volgens die kolom.</p>
    <p>Als je met de muis boven de naam van het veld hangt (waarde in de kolom "VELD"),
    krijg je een tooltip met daarin de verschillende waarden die zijn ingevuld voor dit veld
    en het aantal records waarvoor deze waarde is ingevuld.<br/>
    Wanneer je het vinkje aanklikt v&oacute;&oacute;r de naam van het veld, verschijnt
    dit detailtabelletje onderaan de grote tabel, zodat je dit eventueel kunt afdrukken.<br/>
    Opgepast: de tooltip en de checkbox verschijnen alleen indien niet teveel verschillende waarden
    bestaan.</p>
    """,
        ).render()
    )

    utils.s("  + writing report")
    fs.generateReport(ofile)
    utils.s("< generate_csvreport(%s)" % (filename))
    fs = None
    gc.collect()
Пример #5
0
def generateReportFile(reportfilename, datamap, compliance_test=False, thesaurus_test=True, verbose=True):
    """Obtain all data and write to HTML. This method is called by regenAll.
    Datamap is a mapping of museum data files. (the museum objects defined in regenAll)"""
    output = getOutputFile(reportfilename)
    output.write(get_header())
    if "name" in datamap:
        output.write("<div class='title'>Statistieken <strong>%s</strong></div>\n" % (datamap["name"]))
    utils.verbose = verbose
    thesaurus.setCustomThesauri(ensureList(datamap, "reference_thesauri"))
    utils.s("START")
    x = ensureList(datamap, "objects")
    for infile in ensureList(datamap, "objects"):
        generate_compliancereport(output, infile, not compliance_test, not thesaurus_test)
    for infile in ensureList(datamap, "thesaurus"):
        generate_thesaurusreport(output, infile)
    for infile in ensureList(datamap, "fieldstats"):
        generate_report(output, infile)
    for infile in ensureList(datamap, "csvfieldstats"):
        generate_csvreport(output, infile)
    utils.s("DONE")
    output.write(get_footer())
    output.close()
Пример #6
0
def mage_fight(user_name):
	player = Mage(name = user_name)
	print player.name

	print "GET RRRRRRREEEEEEAAAADY! %s is about to enter the foru...arrr... I mean ...THE ARENA!!! "%player.name

	troll_name = troll_names[random.randrange(0, len(troll_names))]
	troll = Troll(name = troll_name)
	s()
	print "On the other side..."
	s()
	print "...a being so foul, so nasty..."
	s()
	print "...known throught the internets as..."
	s()
	print "%s!!!!"%troll.name.upper()
	print "GET READY ..."
	print "It's %s versus %s!!!"%(troll.name, player.name)

	return fight(player, troll)
Пример #7
0
def generate_thesaurusreport(ofile, filename):
    """Generate HTML report about the thesaurus of an adlib
    library."""
    th = thesaurus.Thesaurus()
    th.name = dn(filename)
    utils.s("> generate_thesaurusreport('%s')" % (filename))
    utils.s("  + parsing thesaurus")
    th.parseAdlibDoc(filename)

    ofile.write("<h1>Thesaurus: %s</h1>" % (dn(filename)))
    ofile.write("<p>Aantal termen: %s</p>" % (len(th.terms.keys())))

    '''
    
    disabling this report because it almost shows the same information as the collection report
    
    html += htmlutils.HelpElement(show="Toon uitleg bij deze vergelijkingen", help="""
    <p>Onderstaande tabellen vergelijken de thesaurus uit de gebruikte registratiesoftware
    met een aantal standaard-thesauri.<br/>
    Er wordt geteld hoeveel termen uit de eigen thesaurus overeenkomen met de standaard-thesaurus.</p>
    <p>Bemerk dat dit een andere vergelijking is dan hoger bij "Gebruik van 
    thesaurustermen": Hier worden de thesauri term per term vergeleken, 
    onafhankelijk van het aantal keren dat een thesaurusterm werkelijk gebruikt werd
    in de collectie. In het hoofdstuk "Gebruik van thesaurustermen" wordt
    rekening gehouden met hoeveel objecten de term werkelijk gebruiken.</p>
    <p>Mogelijke resultaten zijn:</p>
    <dl>
      <dt>Voorkeurterm</dt><dd>De term uit de eigen thesaurus komt overeen met een voorkeurterm
      uit de standaard-thesaurus.</dd>
      <dt>Niet de voorkeurterm</dt><dd>De term uit de eigen thesaurus bestaat
      in de standaard-thesaurus maar is niet de voorkeurterm. De waarde zou vervangen
      moeten worden door de voorkeurterm.</dd>
      <dt>Niet in de ... thesaurus</dt><dd>De term is niet bekend in de standaard-thesaurus.</dd>
    </dl>
    """).render()
    
    
    'utils.s("writing report")
    'for thesa in thesaurus.getThesauri():
    ''    html += thesa.getThesaurusThesaurusReport(th)'''
    th = None
    gc.collect()
    ofile.write("<h2>Overzicht gebruikte velden bij de zelf gedefinieerde termen</h2>\n\n")
    ofile.write(
        htmlutils.HelpElement(
            show="Toon uitleg bij deze tabel",
            help="""
    <p>Onderstaande tabel toont alle velden die ingevuld werden voor minstens 
    &eacute;&eacute;n thesaurusterm die in de registratiedatabank werd ingevoerd.
    Voor elk veld wordt volgende informatie getoond:</p>
    <dl>
      <dt>VELD</dt><dd>De naam van het veld.</dd>
      <dt>% GEBRUIKT</dt><dd>Het percentage van de thesaurustermen waarvoor dit veld is ingevuld.
          Opgepast: een waarde "0" geldt ook als ingevuld.</dd>
      <dt>AANTAL</dt><dd>Het aantal thesaurustermen waarvoor dit veld is ingevuld.</dd>
      <dt>MEERVOUDIGE WAARDE</dt><dd>Dit geeft aan hoeveel keer het veld 
          <em>gemiddeld</em> is ingevuld per thesaurustermen. Een waarde van "1.2" betekent dat het 
          veld meestal slechts &eacute;&eacute;nmaal is ingevuld, maar voor sommige thesaurustermen
          twee (of meerdere) keren.<br/>
          Indien het veld meermaals is ingevuld voor ook maar &eacute;&eacute;n thesaurusterm, wordt
          het vakje paars gekleurd.</dd>
      <dt>GEM. VELDLENGTE</dt><dd>Het gemiddeld aantal karakters dat ingevuld werd in het veld.</dd>
      <dt>UNIEKE WAARDEN</dt><dd>Het aantal verschillende waarden dat ingevuld werd in dit veld.</dd>
    </dl>
    <p>Je kunt op de kolomtitel klikken om de tabel te sorteren volgens die kolom.</p>
    <p>Als je met de muis boven de naam van het veld hangt (waarde in de kolom "VELD"),
    krijg je een tooltip met daarin de verschillende waarden die zijn ingevuld voor dit veld
    en het aantal objecten waarvoor deze waarde is ingevuld.<br/>
    Wanneer je het vinkje aanklikt v&oacute;&oacute;r de naam van het veld, verschijnt
    dit detailtabelletje onderaan de grote tabel, zodat je dit eventueel kunt afdrukken.<br/>
    Opgepast: de tooltip en de checkbox verschijnen alleen indien niet teveel verschillende waarden
    bestaan.</p>
    """,
        ).render()
    )

    utils.s("  + generating fieldstats notdoc")
    fs = fieldstats.FieldStats(filename, documentfilter=thesaurus.notInAnyDocFilter)
    utils.s("  + writing fieldstats notdoc report")
    fs.generateReport(ofile)
    utils.s("< generate_thesaurusreport('%s')" % (filename))
    fs = None
    gc.collect()
Пример #8
0
def generate_compliancereport(ofile, filename, no_compliance=True, no_thesaurus=False):
    """Adlib Object XML report. 
    Generate thesaurus compliance report for writing to HTML. A compliance report
    gives fieldstats information about the fields used in the specified adlib XML document.
    Unless no_thesaurus is set to true, the fields are also compared with reference thesauri,
    and a report is generated under the fieldstats table."""
    utils.s("> generate_compliancereport(%s)" % filename)

    ofile.write("<h1>Collectie: %s</h1>\n" % dn(filename))
    utils.s("  + generating fieldstats")
    fs = fieldstats.FieldStats()
    inputfileformat.parseSAXFile(filename, fs)
    ofile.write("<p>Aantal objecten in collectie: %s</p>\n" % fs.getSize())

    ofile.write("<h2>Overzicht gebruikte velden</h2>\n")
    ofile.write(
        htmlutils.HelpElement(
            show="Toon uitleg bij deze tabel",
            help="""
    <p>Onderstaande tabel toont alle velden die ingevuld werden voor minstens 
    &eacute;&eacute;n object uit de collectie. Voor elk veld wordt volgende
    informatie getoond:</p>
    <dl>
      <dt>VELD</dt><dd>De naam van het veld.</dd>
      <dt>% GEBRUIKT</dt><dd>Het percentage van de objecten waarvoor dit veld is ingevuld.
          Opgepast: een waarde "0" geldt ook als ingevuld.</dd>
      <dt>AANTAL</dt><dd>Het aantal objecten waarvoor dit veld is ingevuld.</dd>
      <dt>MEERVOUDIGE WAARDE</dt><dd>Dit geeft aan hoeveel keer het veld 
          <em>gemiddeld</em> is ingevuld per object. Een waarde van "1.2" betekent dat het 
          veld meestal slechts &eacute;&eacute;nmaal is ingevuld, maar voor sommige objecten
          twee (of meerdere) keren.<br/>
          Indien het veld meermaals is ingevuld voor ook maar &eacute;&eacute;n object, wordt
          het vakje paars gekleurd.</dd>
      <dt>GEM. VELDLENGTE</dt><dd>Het gemiddeld aantal karakters dat ingevuld werd in het veld.</dd>
      <dt>UNIEKE WAARDEN</dt><dd>Het aantal verschillende waarden dat ingevuld werd in dit veld.<br/>
      Twee voorbeelden:<br/>
      Aan elk object moet een eigen, uniek "Objectnummer" toegekend zijn, dus
      moeten er evenveel unieke waarden ingevuld zijn als het aantal objecten.<br/>
      Meestal beslaat een collectie slechts &eacute;&eacute;n instelling, dus zou er slechts
      &eacute;&eacute;n unieke waarde mogen zijn voor het veld "Instellingsnaam".
      </dd>
    </dl>
    <p>Je kunt op de kolomtitel klikken om de tabel te sorteren volgens die kolom.</p>
    <p>Als je met de muis boven de naam van het veld hangt (waarde in de kolom "VELD"),
    krijg je een tooltip met daarin de verschillende waarden die zijn ingevuld voor dit veld
    en het aantal objecten waarvoor deze waarde is ingevuld.<br/>
    Wanneer je het vinkje aanklikt v&oacute;&oacute;r de naam van het veld, verschijnt
    dit detailtabelletje onderaan de grote tabel, zodat je dit eventueel kunt afdrukken.<br/>
    Opgepast: de tooltip en de checkbox verschijnen alleen indien niet teveel verschillende waarden
    bestaan.</p>
    <p>De veldnamen die het belangrijkst zijn volgens het MovE-invulboek, staan
    <strong>vet</strong> aangegeven.
    </p>
    """,
        ).render()
    )
    utils.s("  + writing fieldstats report")
    fs.generateReport(ofile)
    fs = None
    gc.collect()
    collection = collectionstats.Collection()
    """ limit memory usage"""
    collection.onlyKeepFields = thesaurus.fields_to_check
    utils.s("  + generating collectionstats report")
    inputfileformat.parseSAXFile(filename, collection)
    utils.s("  + writing collectionstats report")
    collection.generateReport(ofile, no_compliance, no_thesaurus)
    collection = None
    gc.collect()
    utils.s("< generate_compliancereport(%s)" % filename)
Пример #9
0
#!/usr/bin/env python
from utils import s
import sys
from test_db_setup import *
bundle = {
    'mouth': "",
    'user': "******",
    'channel': "uberj",
    'msg': sys.argv[2],
    'idea': sys.argv[1], # The fist half of the parsed message
    'sensory_input':sys.argv[3] , # The second half of the parsed message
    'conn': conn,
    'cursor': cursor,
    'log': "fail" # legacy code already?
}

print s(bundle)

Пример #10
0
def fight(player, troll):
	#Main fight function
	#Is called by the Mage or Warrior classes and takes in the player and troll objects
	#Handles their abilities, keeps track of the rounds and determines the winners.
	#Modularity and all that :)
	
	#Initialization conditions
	player_win = False
	troll_win = False
	round = 1

	#main loop
	while (player_win is False and troll_win is False): #main fighting sequence
		if round == 1:
			n()
			print "Tutorial:"
			print "Both you and the troll get one action (or attack) per turn."
			print "You can choose which action you want to do by pressing the appropriate key (usually 1 or 2...maybe more in future implementations ;) )"
			n()

		print "ROUND "+ str(round) + "!"
		n()
		if round == 1:
			s()
			print "FIGHT!"

		n()

		print "Troll: %s hitpoints"%troll.hitpoints
		print "%s: %s hitpoints"%(player.name, player.hitpoints) 
		s()
		n()

		player_damage = player.action()

		if player_damage != 0:
			if troll.dodge_attack():
				player_damage = 0
				n()
				s()
			else:
				troll.hitpoints = troll.hitpoints - player_damage
				print "Troll: %s hitpoints"%troll.hitpoints
				s()
				n()

		if dead_check(troll) is True:
			player_win = True
			break

		troll_damage = troll.action()

		if player.dodge_attack() is True:
			troll_damage = 0
			s()
		else:
			player.hitpoints = player.hitpoints - troll_damage
			if round%2==0:
				print "Arrrghhh...you take one for the team"
				n()
				s()
			else:
				print "Not fast enough...dammit..."	
				n()
				s()
			print "%s: %s hitpoints"%(player.name, player.hitpoints) 
			n()

		if dead_check(player) is True:
			troll_win = True

		round += 1
		
	if troll_win is True:
		print "%s finally smashes you into the ground...\n...alas bro, you have given in to his incessant trolling... "%troll.name

	if player_win is True:
		print "You are victorious!!!"
		s()
		n()
		print "%s lies defeated in a pool of his on blood after being on the receiving end of your attacks (and good arguments) one too many times"%troll.name
		print "Young children and old ladies can peruse forums and chatboards without being exposed to his vileness. \n The interwebs are safe...for now. "				# 
Пример #11
0
FACEBOOK_API_END = 'https://graph.facebook.com/{0}/feed'.format(
    FACEBOOK_PAGE_ID)
FEED_URL = os.environ.get('FEED_URL')
FEED_DATA = parse_rss_bytes(urlopen(FEED_URL).read())

for post in FEED_DATA.items:

    ITEM_TIMESTAMP = int(post.pub_date.strftime('%Y%m%d%H%M%S'))
    LAST_TIMESTAMP = int(datetime.now().strftime('%Y%m%d%H%M%S')) - 10000
    ITEM_TITLE = u(html_unescape(post.title))
    ITEM_LINK = u(post.guid)

    if ITEM_TIMESTAMP >= LAST_TIMESTAMP:

        FACEBOOK_API_DATA = {
            'message': ITEM_TITLE,
            'link': ITEM_LINK,
            'access_token': FACEBOOK_ACCESS_TOKEN
        }

        HTTP_REQUEST = Request(url=FACEBOOK_API_END,
                               data=s(urlencode(FACEBOOK_API_DATA)))

        while True:

            RESULT = json.loads(urlopen(HTTP_REQUEST).read())

            if 'error' not in RESULT:
                print('Publicación exitosa: ' + ITEM_LINK)
                break
Пример #12
0
    def start(self):
        museumName = self.museumnaamField.get()
        museumName = utils.ensureUnicode(museumName)
        if not museumName.strip():
            tkMessageBox.showerror('Geen naam voor de collectie opgegeven', 'Vul de naam van de collectie in, aub.');
            return
        outputFile = self.outputField.get()
        if not isValidOutputFile(outputFile):
            tkMessageBox.showerror('Fout bij het starten', 'Kon niet starten omdat er geen correct "Output" bestand is opgegeven.');
            return
        if os.path.exists(outputFile):
            doOverwrite = tkMessageBox.askyesno('Bestand overschrijven?', 'Het gekozen "Output" bestand bestaat reeds. Wilt u verder gaan en het overschrijven?')
            if not doOverwrite:
                return

        try:
            waitDialog = WaitDialog(self.parent)
            utils.setMaxDetail(self.settings.maxUniqueValues)
            # Will only return input files with valid files and names filled in
            inputFiles = self.inputFilesTable.getValues()
            if inputFiles.size() == 0:
                waitDialog.close()
                tkMessageBox.showerror('Fout bij het starten', u'Kon niet starten omdat er geen geldige "Input" bestanden zijn opgegeven.\nEr is minstens één input bestand met ingevulde naam, type en bestandslocatie vereist.');
                return

            if self.checkb["state"] != DISABLED and self.checkThesaurus.get():
                checkThesaurus = True
            else:
                checkThesaurus = False

            # Set configured reference thesauri
            err = None
            if (checkThesaurus):
                referenceThesauri = self.settings.thesauri
                err = setCustomThesauri(referenceThesauri)
            else:
                err = setCustomThesauri(TEntries())
            if (not (err is None)):
                waitDialog.close()
                tkMessageBox.showerror('Fout bij het starten', err);
                return
                
            # Set specified input files to analyse
            objects = []
            thesauri = []
            fieldstats = []
            csvfieldstats = []
            inputFiles.sort()
            for entry in inputFiles.values:
                utils.s("%s - %s - %s\n" % (entry.name, entry.type, entry.path))
                if entry.type == 'Adlib XML Objecten':
                    objects.append(entry.path)
                elif entry.type == 'XML Fieldstats' or entry.type == "Adlib XML Personen":
                    fieldstats.append(entry.path)
                elif entry.type == 'CSV Fieldstats':
                    csvfieldstats.append(entry.path)
                elif entry.type == 'Adlib XML Thesaurus':
                    thesauri.append(entry.path)
                else:
                    print "ERROR: Input bestand %s met type %s kan niet gebruikt worden" % (entry.name, entry.type)
            generateReport(museumName, objects, thesauri, fieldstats, csvfieldstats, outputFile, False)
                 
        except Exception, e:
            waitDialog.close()
            stacktrace = traceback.format_exc()
            print "exception ..."
            print stacktrace
            print "done"
            ExceptionDialog(self.parent, e, stacktrace)
            return
Пример #13
0
def initThesauri():
    '''Initialize thesauri by parsing them from XML files. Only thesauri for which
    the files are found are loaded, so it is safe to call this method when not all reference
    thesauri are present.'''
    global thesaurus_pref_order
    global init_done_already
    global customThesauri
    if (init_done_already):
        return
    init_done_already = True
    # Custom reference thesauri specified, load those
    global thesaurus_pref_order
    thesaurus_pref_order = []
    customThesauri.sort()
    if len(customThesauri.values) > 0:
        utils.s("    - INITIALIZING custom thesauri (this might take some time) ...")
        for entry in customThesauri.values:
            thesaurus = Thesaurus(entry.name)
            if entry.type == 'Adlib XML Thesaurus':
                thesaurus.parseDefaultAdlibDoc(entry.path)
            elif entry.type == 'TXT Thesaurus':
                thesaurus.parseTextFile(entry.path)
            else:
                utils.s('    ! ERROR: reference thesaurus "%s" is of unknown type (%s), don\'t know how to parse it' % (entry.name, entry.type))
                continue
            __thesauri[thesaurus.name] = thesaurus
            thesaurus_pref_order.append(thesaurus.name)
        
        utils.s("    - DONE thesaurus initialisation %s" % str(thesaurus_pref_order))
        # Drop out here, do not load default thesauri
        return
    
    thesaurus_pref_order = ["MOT","AM-MovE","AAT-Ned"]

    # Else, try loading the defaults
    utils.s("    - INITIALIZING default thesauri (this might take some time) ...")
    thesauruspad = os.path.join(os.path.dirname(__file__), '..', 'data', 'reference', 'Am_Move_thesaurus06_10.xml')
    if(os.path.exists(thesauruspad)):
        try:
            utils.s("    - parsing MOVE thesaurus")
            AmMoveThesaurus = Thesaurus('AM-MovE')
            AmMoveThesaurus.parseDefaultAdlibDoc(thesauruspad)
            AmMoveThesaurus.name = AmMoveName
            __thesauri[AmMoveThesaurus.name] = AmMoveThesaurus
        except IOError as e:
            print("({})".format(e))
    elif 'AM-MovE' in thesaurus_pref_order:
        thesaurus_pref_order.remove('AM-MovE')
    
    thesauruspad = os.path.join(os.path.dirname(__file__),'..', 'data', 'reference', 'aat2000.xml')
    if(os.path.exists(thesauruspad)):
        try:
            utils.s("    - parsing AAT thesaurus")
            AAT2000 = Thesaurus('AAT-Ned')
            AAT2000.parseDefaultAdlibDoc(thesauruspad)
            AAT2000.name = AATNedName
            __thesauri[AAT2000.name] = AAT2000
        except IOError as e:
            print("({})".format(e))
    elif 'AAT-Ned' in thesaurus_pref_order:
        thesaurus_pref_order.remove("AAT-Ned")
    
    thesauruspad = os.path.join(os.path.dirname(__file__), '..', 'data', 'MOT', 'mot-naam.txt')
    if(os.path.exists(thesauruspad)):
        try:
            utils.s("    - parsing MOT name list")
            MOT_name_list =  Thesaurus('MOT')
            MOT_name_list.parseTextFile(thesauruspad)
            MOT_name_list.name = MotName
            __thesauri[MotName] = MOT_name_list
        except IOError as e:
            print("({})".format(e))
    elif 'MOT' in thesaurus_pref_order:
        thesaurus_pref_order.remove("MOT")
        
    utils.s("    - DONE thesaurus initialisation %s" % str(thesaurus_pref_order))
Пример #14
0
FEED_URL = os.environ.get('FEED_URL')
FEED_DATA = parse_rss_bytes(urlopen(FEED_URL).read())

for post in FEED_DATA.items:

    ITEM_TIMESTAMP = int(post.pub_date.strftime('%Y%m%d%H%M%S'))
    LAST_TIMESTAMP = int(datetime.now().strftime('%Y%m%d%H%M%S')) - 10000
    ITEM_TITLE = u(html_unescape(post.title))
    ITEM_LINK = u(post.guid)
    TWITTER_STATUS = ITEM_TITLE + ' ' + ITEM_LINK

    if ITEM_TIMESTAMP >= LAST_TIMESTAMP:

        SIGNATURE_TIMESTAMP = datetime.now().strftime('%s')
        SIGNATURE_ONCE = base64.b64encode(
            s(''.join([str(random.randint(0, 9)) for i in range(24)])))
        SIGNATURE_BASE_STRING_AUTH = 'oauth_consumer_key=' + escape(
            TWITTER_CONSUMER_KEY)
        SIGNATURE_BASE_STRING_AUTH += '&oauth_nonce=' + escape(SIGNATURE_ONCE)
        SIGNATURE_BASE_STRING_AUTH += '&oauth_signature_method=' + escape(
            TWITTER_API_METHOD)
        SIGNATURE_BASE_STRING_AUTH += '&oauth_timestamp=' + escape(
            SIGNATURE_TIMESTAMP)
        SIGNATURE_BASE_STRING_AUTH += '&oauth_token=' + escape(
            TWITTER_OAUTH_TOKEN)
        SIGNATURE_BASE_STRING_AUTH += '&oauth_version=' + escape(
            TWITTER_API_VERSION)
        SIGNATURE_BASE_STRING_AUTH += '&status=' + escape(TWITTER_STATUS)
        SIGNATURE_BASE_STRING = s('POST&' + escape(TWITTER_API_END) + '&' +
                                  escape(SIGNATURE_BASE_STRING_AUTH))
        SIGNATURE_KEY = s(
Пример #15
0
def intro():
	print "Hello World!!! ...\n "
	s()
	print "And welcome to The Troll Pit, where aspiring, n00b or l33t, hackers \n fight their fears and confront the nastiest of all internet monsters: \n "
	s()
	s()
	print "THE VICIOUS TROLL!\n\n"
	s()
	print "This will be a battle to the death where you will be allowed to use:\n"
	print "SWORDS!!!"
	s()
	print "MAGIC!!!!!!"
	s()
	print "FOUL LANGUAGE FROM BEHIND AN ANONYMOUS USERNAME!!!! (note: in future patches)"
	s()
	print "...and everyone's favorite..."
	s()
	print "A RANDOM NUMBER GENERATOR TO RANDOMLY DETERMINE YOUR CHANCES OF SUCCESS!!!1!1\n\n\n"
Пример #16
0
from utils import s

user = '******'
id = 10

print s('Hello {user}. Your id is {id}')
Пример #17
0
#!/usr/bin/env python
from utils import s
import sys
from test_db_setup import *

bundle = {
    'mouth': "",
    'user': "******",
    'channel': "uberj",
    'msg': sys.argv[2],
    'idea': sys.argv[1],  # The fist half of the parsed message
    'sensory_input': sys.argv[3],  # The second half of the parsed message
    'conn': conn,
    'cursor': cursor,
    'log': "fail"  # legacy code already?
}

print s(bundle)