Skip to main content

PyJoke: Fetch your jokes in Python.

Project description

PyJoke is a package for fetching the perfect joke in a database. You give a sentence, you get a joke. Isn’t that great? Common usage is:

#!/usr/bin/python
# -*- coding: utf-8 -*-

from pyjoke.PyJoke import *

s = "Sentence with keywords"

p = PyJoke()

p.changeParams()
p.changeDatabase("SoftJokes.db","jokesfr",True)
p.changeDatabase("HardJokes.db","jokes_fr_cat",False)

if p.params.conv==0:
    print p.getTheJoke(s)
else:
    for i in range(p.params.conv):
        s = p.getTheJoke(s)
        print "Personne "+str((i%2)+1)+" dit : "+s

PyJoke has been developed for as a NAO module (in French), but can also work as a standalone. It should be possible to make it work in English.

How does it work?

  • Give a sentence to PyJoke (see script above)

  • PyJoke will analyse the sentence

  • First, create a keywords list (by removing stopwords)

  • If POSTAG is active, it will add a score to each kword

  • Then, create a query, connect to database and send query

  • The query (above) is meant to filter the jokes It will get the jokes with at least 1 keyword

  • Then, score each joke

  • And return the best one

What can the user change?

  • Config a MySQL or a SQLite database

  • Use of Postag (and the scores)

  • NAO mode

  • Language (French by default)

  • Maximum joke length

  • Conversation mode (experimental)

Database format

The joke database needs to have two fields at least:

  • text

  • score

Text being the joke itself, and score being an arbitrary score that’s not going to be used, really (should do that…)

Useful libs and dependencies

PyJoke has dependencies, some are optional

  • NTLK

  • SQLite (or MySQL)

  • YAML

  • TreeTagger (opt)

  • /usr/lib/sqlite3/pcre.so (opt)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyJoke-0.3.3.tar.gz (326.5 kB view details)

Uploaded Source

File details

Details for the file PyJoke-0.3.3.tar.gz.

File metadata

  • Download URL: PyJoke-0.3.3.tar.gz
  • Upload date:
  • Size: 326.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyJoke-0.3.3.tar.gz
Algorithm Hash digest
SHA256 545ef4ad3c3c25713db01e48f36add7af32d8b10eea262dce9cb6e0a2df14aec
MD5 d2fe9f842ab0a65091aeec19de6bd30d
BLAKE2b-256 5201f0ad0da5b9f93d3ea0bceae53c4b6e9136591639757feb1bd6a7b31516af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page