STINNER Victor <victor.stin...@haypocalc.com> added the comment: For Freevo: yes, it uses the CDROM module. But this module doesn't look to be perfect because Freevo has a fallback for FreeBSD and another for... Linux (because of missing CDROM.CDROM_DRIVE_STATUS?): ----------------------------- try: from CDROM import * # test if CDROM_DRIVE_STATUS is there # (for some strange reason, this is missing sometimes) CDROM_DRIVE_STATUS except: if os.uname()[0] == 'FreeBSD': # FreeBSD ioctls - there is no CDROM.py... CDIOCEJECT = 0x20006318 CDIOCCLOSE = 0x2000631c CDIOREADTOCENTRYS = 0xc0086305 CD_LBA_FORMAT = 1 CD_MSF_FORMAT = 2 CDS_NO_DISC = 1 CDS_DISC_OK = 4 else: # see linux/cdrom.h and Documentation/ioctl/cdrom.txt CDROMEJECT = 0x5309 CDROM_GET_CAPABILITY = 0x5331 CDROMCLOSETRAY = 0x5319 # pendant of CDROMEJECT CDROM_SET_OPTIONS = 0x5320 # Set behavior options CDROM_CLEAR_OPTIONS = 0x5321 # Clear behavior options CDROM_SELECT_SPEED = 0x5322 # Set the CD-ROM speed CDROM_SELECT_DISC = 0x5323 # Select disc (for juke-boxes) CDROM_MEDIA_CHANGED = 0x5325 # Check is media changed CDROM_DRIVE_STATUS = 0x5326 # Get tray position, etc. CDROM_DISC_STATUS = 0x5327 # Get disc type, etc. CDROM_CHANGER_NSLOTS = 0x5328 # Get number of slots CDROM_LOCKDOOR = 0x5329 # lock or unlock door CDROM_DEBUG = 0x5330 # Turn debug messages on/off CDROM_GET_CAPABILITY = 0x5331 # get capabilities # CDROM_DRIVE_STATUS CDS_NO_INFO = 0 CDS_NO_DISC = 1 CDS_TRAY_OPEN = 2 CDS_DRIVE_NOT_READY = 3 CDS_DISC_OK = 4 # capability flags CDC_CLOSE_TRAY = 0x1 # caddy systems _can't_ close CDC_OPEN_TRAY = 0x2 # but _can_ eject. CDC_LOCK = 0x4 # disable manual eject CDC_SELECT_SPEED = 0x8 # programmable speed CDC_SELECT_DISC = 0x10 # select disc from juke-box CDC_MO_DRIVE = 0x40000 CDC_MRW = 0x80000 CDC_MRW_W = 0x100000 CDC_RAM = 0x200000 # CDROM_DISC_STATUS CDS_AUDIO = 100 CDS_DATA_1 = 101 CDS_DATA_2 = 102 CDS_XA_2_1 = 103 CDS_XA_2_2 = 104 CDS_MIXED = 105 -----------------------------
So Freevo does stil work if we remove the CDROM module. I still think that the Python standard library is not the right place for such constants. A third party module providing an API would be a better idea. socket.SO_PEERCRED has been added to Python 3.3 by c64216addd7f: "Add support for the send/recvmsg API to the socket module. Patch by David Watson and Heiko Wundram. (Closes #6560)" socket.SO_PEERCRED is not listed in socket documentation. socket has no SO_BINDTODEVICE constant yet. RTLD_NOW, RTLD_GLOBAL and RTLD_LAZY will added to the posix module if my issue #13226 is accepted. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue12619> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com