Skip to content

Instantly share code, notes, and snippets.

Bryan Nehl k0emt

Block or report user

Report or block k0emt

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@k0emt
k0emt / Enron_to_Mongo.py
Last active Apr 26, 2018
Convert the Enron email dataset files to a MongoDB. Blog post here: http://soloso.blogspot.com/2011/07/getting-enron-mail-database-into.html Brendan McAdams @rit created a version of the code which utilizes the Python email library to produce a database with more metadata. You can see the results of his work here: http://mongodb-enron-email.s3-w…
View Enron_to_Mongo.py
import os
import datetime
from pymongo import MongoClient
__author__ = 'k0emt'
MAIL_DIR_PATH = '/Users/k0emt/Projects/enron/enron_mail_20110402/maildir'
PREFIX_TRIM_AMOUNT = len(MAIL_DIR_PATH) + 1
MAX_USER_RUN_LIMIT = 50
MAX_USER_EMAILS_PER_FOLDER_FILE_LIMIT = 2
counter = 1
@k0emt
k0emt / Experiment.py
Last active Nov 5, 2019
Basic Hello world in Python with corresponding unittest
View Experiment.py
__author__ = 'k0emt'
class Greeter:
def __init__(self):
self.message = 'Hello world'
# print self.message
@k0emt
k0emt / Arguments.py
Created Sep 2, 2011
Overloading constructor and variable arguments example
View Arguments.py
__author__ = 'k0emt'
class Greeter:
def __init__(self):
self.message = 'Hello world!'
# print self.message
class GreeterOverloaded:
def __init__(self, greeting=None):
if greeting is None:
@k0emt
k0emt / DarkMatterLogger.py
Created Sep 15, 2011
Demo code for RabbitMQ Publish/Subscribe (fanout) exchange with Python
View DarkMatterLogger.py
import sys
import pika
# prerequisites are that you have RabbitMQ installed
# create a "darkmatter" named VirtualHost (VHOST)
# rabbitmqctl.bat add_vhost darkmatter
# create a user APP_USER with associated APP_PASS word
# rabbitmqctl add_user darkmatteradmin <password>
# give the APP_USER the necessary permissions
# rabbitmqctl set_permissions -p darkmatter darkmatteradmin ".*" ".*" ".*"
@k0emt
k0emt / pymongo_work_with_document.py
Last active Dec 12, 2015
MongoDB, PyMongo example working with returned documents.
View pymongo_work_with_document.py
from pymongo import MongoClient
import pymongo
import sys
# establish a connection to the database
connection = MongoClient("mongodb://localhost", safe=True)
# get a handle to the school database
db = connection.school
scores = db.scores
@k0emt
k0emt / updating_docs.py
Last active Aug 14, 2019
This gist shows how to loop throw and alter/update an individual uniquely identified document.
View updating_docs.py
from pymongo import MongoClient
import sys
# code example to show updating individual records in a loop
# initialize the database with:
# mongoimport -d school -c scores --type json grades.js
# verify no records with "added"
# db.scores.find({"added":{$exists:true}}) // returns nothing
@k0emt
k0emt / cities.xml
Created Feb 15, 2013
Example of XSLT Transformation with for-each-grouping. command to create: saxon -xsl:for-each-group.xsl -s:cities.xml > grouped_cities.xml
View cities.xml
<cities>
<state>
<name>Alabama</name>
<city>Abbeville</city>
<number>1</number>
</state>
<state>
<name>Alabama</name>
<city>Adamsville</city>
<number>1</number>
@k0emt
k0emt / mongoGetKeys.py
Last active Dec 13, 2015
Utility code to get the keys from a document in a specified MongoDB database and collection.
View mongoGetKeys.py
#!/usr/local/bin/python
import sys
from pymongo import MongoClient
if len(sys.argv) < 3:
print 'usage is: ' + sys.argv[0] + ' databaseName collectionName'
sys.exit()
dbName = sys.argv[1]
@k0emt
k0emt / hello_world_bottle.py
Created Apr 6, 2013
Example of hello world in bottle with python
View hello_world_bottle.py
import bottle
@bottle.route('/')
def home_page():
return "Hello World\n"
@bottle.route('/testpage')
def test_page():
return "this is a test page"
@k0emt
k0emt / create_replica_set.bat
Last active Nov 20, 2016
Helper batch file for starting up a replica set named m101. Drop the --logpath option if you want to enjoy the log text flying by in the console. The --oplogSize option is the magic sauce to avoid creation of numerous 512MB+ files up to 5% of disk space.
View create_replica_set.bat
mkdir \data\rs1 \data\rs2 \data\rs3
start mongod --replSet m101 --logpath "1.log" --dbpath \data\rs1 --port 27017 --smallfiles --oplogSize 64
start mongod --replSet m101 --logpath "2.log" --dbpath \data\rs2 --port 27018 --smallfiles --oplogSize 64
start mongod --replSet m101 --logpath "3.log" --dbpath \data\rs3 --port 27019 --smallfiles --oplogSize 64
You can’t perform that action at this time.