Skip to main content

Opens a Gio.File as a Python file object

Project description

Opens a Gio.File as a Python file object

def open(file, mode="r", buffering=-1, encoding=None, errors=None,
         newline=None, cancellable=None):
    """
    Like io.open() but takes a Gio.File instead of a filename.

    The only modes supported are r/rw/rb/r+b
    Takes a cancellable kwarg for passing a Gio.Cancellable().
    Cancelling it will abort any ongoing blocking operation.

    Returns a io.IOBase instance.
    """
https://travis-ci.org/lazka/giofile.svg?branch=master

Installation

pip install giofile

Example

import mutagen
import giofile
from gi.repository import Gio

gio_file = Gio.File.new_for_uri(
    "http://people.xiph.org/~giles/2012/opus/ehren-paper_lights-96.opus")

cancellable = Gio.Cancellable.new()
with giofile.open(gio_file, "rb", cancellable=cancellable) as gfile:
    print(mutagen.File(gfile).pprint())
$ python example.py
Ogg Opus, 228.11 seconds (audio/ogg)
ENCODER=opusenc from opus-tools 0.1.5
artist=Ehren Starks
title=Paper Lights
album=Lines Build Walls
date=2005-09-05
copyright=Copyright 2005 Ehren Starks
license=http://creativecommons.org/licenses/by-nc-sa/1.0/
organization=magnatune.com

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

giofile-0.2.0.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file giofile-0.2.0.tar.gz.

File metadata

  • Download URL: giofile-0.2.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for giofile-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2e00d57cb3f81a1fd97bca7b6f1696cdc6ec5a409276aea7c27283c4e3e34b77
MD5 72a05637ff76842ea9f86e0e777d246c
BLAKE2b-256 88d034dbabf17c9d697578db890acddb7cdf0e76a2591e96462efb179171a3c4

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