Access exif data from gimpfu plugin - gimp

I am trying to access an images exif data from inside a gimpfu plugin, specifically the date a photo was taken, I can do this with PIL,
from PIL import Image
date_taken = Image.open(file)._getexif()[36867]
But when I try to import PIL, the plugin no longer appears inside the gimp menu. No error is being produced, and GIMP starts normally.
Is there a way to get the exif data with gimpfu? Or is there a way to import PIL into the plugin?

If the plugin no longer appears in the Gimp menu, it is likely because there is some problem in it that prevents it from running to the end to register. It can be a syntax error or, in this case, a problem importing PIL. If you are on Linux or OSX this is easy to debug, just start Gimp in a terminal session, error messages from the python interpreter will be displayed there. On Windows you can start Gimp with a --verbose parameter to make it run with an additional console windows for messages, but I'm not sure the Python errors show up there. If they don't, bracket you whole code in a try/except and dump the Exception error to a file. You can use the traceback module to get more info (line number of error, etc) but it could itself be the cause of other import errors...
To answer your initial problem, you can get the EXIF data from Gimp, using:
exifData=image.parasite_find('exif-data').data
However, this is just an array of bytes, and you have to do the parsing yourself (but I'll sure you'll find python code snippets to extract the data you want).

Related

strange corruption in rawpy.imread

I intended to read a DNG formatted image with the code rawpy.imread(path), however it returned me with a error message, saying unknown file: data corrupted at xxxxxxx (7-digit number).
Following this error, I found the program is still able to continue to run anyway, and the DNG image is not a flat one, since when visiting its property of raw_image_visible, it returned me with a ndarray of four channels. I have the lastest version of rawpy package (0.16.0) under Windows 10 environment.
I shared the photo via Google Drive. I have no idea how I can address this issue. Any kind of help is appreciated.

How do you display a Neo4j graph in Jupyter lab or notebook?

Someone pointed me to this link:
http://nicolewhite.github.io/neo4j-jupyter/hello-world.html
It looks like it used to work before, but something got updated in py2neo or neo4j...
The repo is at:
https://github.com/nicolewhite/neo4j-jupyter
Does anyone have this working?
I've encountered 2 problems:
The methods called are removed from the API (I've tried installing py2neo 3 (an older release) - but it would mess up something in jupyter.
I've tried changing the script itself to use hard coded strings, but the jupyter lab notebook refuses to serve up the vis.css and .js resources (returning 403 forbidden). Maybe I didn't put those files in the right folder?
In the meantime, I guess I'll have to make do pasting a screenshot from the neo4j web interface into the notebook.
Will keep you posted if I make any progress on this.
Perhaps it's not suitable for you, but i hope my Hack will barely measure up to your problem.
stop Neo4j.
Download
7zip
Javinder
jbe (Java Bytecode Editor)
Search for two entries using Javinder.
Content-Security-Policy: frame-ancestors 'none'
X-Frame-Options: DENY
Open .jar with 7zip, extract and delete the corresponding file.
Open the extracted file with jbe and delete the corresponding entry (please note that the operation will be reflected immediately).
Write the modified file to .jar using 7zip.
start Neo4j
Open jupyter notebook with chrome.
Open Neo4j with iframe tag.
Do your work.
right click and print.
smpl file.
https://gist.github.com/nibuiro/bb7d14a6e6b87133ed74e04b4fd1403a

Identify old dos system file type and decode it into text file

I have pick up an old dos system from my friend, and I need to import the data into SQL, but before importing the data, i need to decode it into a readable text file, but I failed to do so. I have try several stuff:
file command in ubuntu terminal, it said "data"
Use online trid and it said macbin(MacBinary 1)
Tried bin2hex, but couldn't unhex it
Tried some online macbin to hex, no luck as well
Tried to open in macOS, but it keep extracting files
bin2hex said, nothing here
stuffitexpander.... Doesn't recognize...
This is the file that i need to decode
https://gofile.io/?c=wdbs6A
Please let me know if you need the original program.
I think they are just some database files.
Use this site for explanations. they even have a file analyzer - showing you the data inside.
You will need to rename the files to .db extension instead of .ocm.

Ghostscript output to file with ESC-P sequences

For a project (printing nanofluids with an Epson printer) I want to see the the code that the computer sends to the printer. I am running Ubuntu 16.04 and have an Epson Stylus SX600FW printer.
Using Ghostscript 9.18 I am trying to print a simple file test.ps and I want to obtain the output file that is being send to the printer. This file should contain some ESC/P sequences if I am right.
I tried to obtain such a file using:
gs -sDevice=epson -sOutputFile=test1output test1.ps
Whatever I try, I can't find the output file anywhere, so I doubt it is even created. Then next if I have the output file, how can I read the ESC/P sequences? Thanks in advance!
For me, that command line results in a file called 'test1output' in the current directory. If you are unable to find the file you could try specifying a complete path and file spec, or at least -sOutputFile=./test1output
As for reading the sequences, any binary editor will read the file.

ImageMagick failes to read a JPEG image

I've been using ImageMagick 6.9.0 for some time, and had setup some Railo scripts using it on a Windows Server 2008 R2 Standard Edition machine a while back. I know that they worked at the time. I just tried to run them on a new set of images now, but ImageMagick is failing on the very first command:
<cfexecute name="#Application.ImageMagickRoot#\identify.exe" variable="imgResult" timeout="60" arguments="-format ""%w|%h"" ""#attributes.infoFullPath#""" />
The error returned is:
identify.exe: RegistryKeyLookupFailed `CoderModulesPath' # error/module.c/GetMagickModulePath/662. identify.exe: no decode delegate for this image format `JPEG' # error/constitute.c/ReadImage/501.
I've never seen anything like this. So I checked and saw that there is a new version out, and downloaded IM 7.0.1. I tried running the above command again with no changes, but this time pointing to the 7.0.1 install folder. This resulted in a different, but similar, error:
identify.exe: unable to load module 'C:\ImageMagick-7.0.1-Q16\modules\coders\IM_MOD_RL_JPEG_.dll': The specified module could not be found. # error/module.c/OpenModule/1275. identify.exe: no decode delegate for this image format `JPEG' # error/constitute.c/ReadImage/505.
I looked in the directory in the error and there is a file named IM_MOD_RL_jpeg_.dll there.
The images that I'm trying to work with are all different, and I've cycled through 50 or so during testing. But all are between 4 and 10 megapixel photos exported from Photoshop CS5 Camera Raw to jpeg format. I've tried fiddling with the case of the drive letter and the file extension without success. A sample path to one of the images is:
c:\galleries_incoming\50\69\01 - Getting Ready\DSC_0001.JPG
I'm unsure what to try next. I tried running this command per an old message on the IM forum to get a list of my decode delegates:
convert -list configure
But IM tells me that configure is not a valid list option. In any case, it sounds like installing new decode delegates is something that requires a recompile, and I've just been relying on precompiled binaries (which I would assume would at least be able to read a jpeg).

Resources