Skip to main content

Mr. Igor provides the parts you need to build your Frankenprogram.

Project description

Overview

mr.igor is an extension to pyflakes that will learn where you import things from, and then automatically fill in missing imports from the place they are most often imported.

But how does it know?

“It’th a knack.”

Usage: igor [–print] filename

This script will record all imports from filename in Igor’s database, and then add imports at the top of the file for any names that were not imported but were found in the database.

If the –print option is specified then the rewritten file will be written to stdout. (This allows the use of igor as a filter for editors.) Otherwise the file will be modified inplace.

Only “from x import y” style imports are tracked and inserted. Aliases (“from x import y as z”) are not supported.

mr.igor stores its database in ~/.mr.igor.db.

Usage with TextMate

Go to the TextMate Bundle Editor and add a new command with the following settings:

Save

Current File

Command(s)
#!/bin/bash
igor --print $TM_FILEPATH
Input

None

Output

Replace Document

Activation

Key Equivalent: ⌘I

Scope Selector

source.python

Now you can save the current file and run it through Igor using the ⌘I keyboard shortcut.

Usage with Vim

The following key mapping will configure ⌘I to run the current file through Igor and then reload the current buffer:

nmap <D-i> :!igor %<CR> <bar> :e!<CR>

Changelog

2009/12/14
  • Added usage info for integration with Vim. Thanks to Stephan Eletzhofer. [davisagli]

  • Released version 1.1. [davisagli]

  • Fix issue where a syntax error would cause the file to be clobbered when using print mode as a filter. [davisagli]

  • Fix issue where print mode would not print anything if no new imports were found. [davisagli]

  • Fix issue where multiple imports in the same line were not recorded. [davisagli]

  • Released version 1.0. [davisagli]

  • Added functional test. [davisagli]

  • Refactor to improve testability; avoid monkeypatching. [davisagli]

2009/12/13
  • Add help for console script. [davisagli]

  • Use ~/.mr.igor.db as default database location. [davisagli]

  • Added –print option. [davisagli]

  • Added igor console script. [davisagli]

2009/12/12
  • Initial proof-of-concept. [davisagli]

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

mr.igor-1.1.zip (9.7 kB view details)

Uploaded Source

File details

Details for the file mr.igor-1.1.zip.

File metadata

  • Download URL: mr.igor-1.1.zip
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mr.igor-1.1.zip
Algorithm Hash digest
SHA256 8d9a819ea7c56723cc0e69022ae4f74e00e60c005a875dfc9159f75be35f6186
MD5 c4f4ef0bfb919b6ac524e1563aad7078
BLAKE2b-256 13d3e245aa601230017414a30f86ddd9e10da2c145d658db8831d40ba4c7e396

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