Spotlight | Reviews | Current Issue | Academy | Newsletter | Subscribe | Shop |
Departments

Yatego Shopping
Yatego International
Germany's Shoppingmall No.1! 10000 Shops and over 3,4 Mio. Products. Computer, Software and Technic Guidebooks.

user friendly

Admin Magazine

ADMIN Network & Security

Subscribe now and save!

 ADMIN - Explore the new world of system administration! ADMIN is a smart, technical magazine for IT pros on heterogeneous networks. Each issue delivers technical solutions to the real-world problems you face every day. Learn the latest techniques for better:

  • network security
  • system management
  • troubleshooting
  • performance tuning
  • virtualization
  • cloud computing

 on Windows, Linux, Solaris, and popular varieties of Unix.

http://www.admin-magazine.com/

  linuxpromagazine.com » Online » Blogs » Productivity Sauce » Save Snippets in Pygmynote with the sniptopygmynote.py Script  

Productivity Sauce
Productivity Sauce

Save Snippets in Pygmynote with the sniptopygmynote.py Script

As you might already know, I use a home-made Python script called Pygmynote to keep tabs on all kinds of data: from text snippets and links, to tasks and deadlines. Usually, I enter data in Pygmynote manually, but there are situations when having the ability to just push a text selection or link to Pygmynote's SQLite database can come in rather handy. So I wrote a simple Python script that does just that.

#!/usr/bin/env python
import pygtk, gtk, wx
import sqlite3 as sqlite
pygtk.require('2.0')

DB = 'pygmynote.db'

conn = sqlite.connect(DB)
cursor = conn.cursor()

def escapechar(sel):
 sel=sel.replace("\'", "\''")
 sel=sel.replace("\"", "\\\"")
 return sel

clipboard = gtk.clipboard_get()
snip = clipboard.wait_for_text()

app = wx.PySimpleApp()
tags = wx.TextEntryDialog(None, "Tags:","Add Tags", "", style=wx.OK|wx.CANCEL)
if tags.ShowModal() == wx.ID_OK:
    notetags = tags.GetValue()
tags.Destroy()

notetext = escapechar(snip)
notedue = ""
notetype = "A"
sqlquery = \
"INSERT INTO notes (note, due, tags, type) VALUES ('%s', '%s', '%s', '%s')"\
% (notetext, notedue, notetags, notetype)
cursor.execute(sqlquery)
conn.commit()

message = wx.MessageDialog(None, "Snip saved. All done!", "Done", wx.OK)
message.ShowModal()
message.Destroy()

The code uses the PyGTK library to create a dialog window and message boxes. The way the script works is pretty straightforward. First it establishes a connection to the database and grabs the contents of the clipboard. The script then prompts you to specify tags for the snippet, and creates a record in the database. That's all there is to it. I assigned a keyboard shortcut to the script to make it easily accessible. You can grab the latest release of Pygmynote and the sniptopygmynote.py script from the project's GitHub repository.

Comments


Print this page. Recommend
Share