def export_image2file(self, aChunkSize=0, filename=None): if self._payload[self._idx['size']] == 0: return None if filename is None: suffix = None # preserve original filename extension if available if self._payload[self._idx['filename']] is not None: name, suffix = os.path.splitext( self._payload[self._idx['filename']]) suffix = suffix.strip() if suffix == '': suffix = None # get unique filename filename = gmTools.get_unique_filename(prefix='gm-tag_image-', suffix=suffix) success = gmPG2.bytea2file(data_query={ 'cmd': 'SELECT substring(image from %(start)s for %(size)s) FROM ref.tag_image WHERE pk = %(pk)s', 'args': { 'pk': self.pk_obj } }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[self._idx['size']]) if success: return filename return None
def export_to_file(self, aChunkSize=0, filename=None, directory=None): if self._payload[self._idx['pk_doc_obj']] is not None: return self.document_part.export_to_file ( aChunkSize = aChunkSize, filename = filename, ignore_conversion_problems = True, directory = directory ) if filename is None: filename = self.get_useful_filename(directory = directory) success = gmPG2.bytea2file ( data_query = { 'cmd': u'SELECT substring(data from %(start)s for %(size)s) FROM clin.export_item WHERE pk = %(pk)s', 'args': {'pk': self.pk_obj} }, filename = filename, chunk_size = aChunkSize, data_size = self._payload[self._idx['size']] ) if not success: return None return filename
def export_image2file(self, aChunkSize=0, filename=None): if self._payload[self._idx['size']] == 0: return None if filename is None: suffix = None # preserve original filename extension if available if self._payload[self._idx['filename']] is not None: name, suffix = os.path.splitext(self._payload[self._idx['filename']]) suffix = suffix.strip() if suffix == u'': suffix = None # get unique filename filename = gmTools.get_unique_filename ( prefix = 'gm-tag_image-', suffix = suffix ) success = gmPG2.bytea2file ( data_query = { 'cmd': u'SELECT substring(image from %(start)s for %(size)s) FROM ref.tag_image WHERE pk = %(pk)s', 'args': {'pk': self.pk_obj} }, filename = filename, chunk_size = aChunkSize, data_size = self._payload[self._idx['size']] ) if success: return filename return None
def export_to_file(self, aChunkSize=0, filename=None): if self._payload[self._idx['data_size']] == 0: return None if self._payload[self._idx['data_size']] is None: return None if filename is None: filename = gmTools.get_unique_filename(prefix = 'gm-incoming_data_unmatched-') success = gmPG2.bytea2file ( data_query = { 'cmd': u'SELECT substring(data from %(start)s for %(size)s) FROM clin.incoming_data_unmatched WHERE pk = %(pk)s', 'args': {'pk': self.pk_obj} }, filename = filename, chunk_size = aChunkSize, data_size = self._payload[self._idx['data_size']] ) if not success: return None return filename
def export_to_file(self, aChunkSize=0, filename=None): if self._payload[self._idx['data_size']] == 0: return None if self._payload[self._idx['data_size']] is None: return None if filename is None: filename = gmTools.get_unique_filename( prefix='gm-incoming_data_unmatched-') success = gmPG2.bytea2file(data_query={ 'cmd': u'SELECT substring(data from %(start)s for %(size)s) FROM clin.incoming_data_unmatched WHERE pk = %(pk)s', 'args': { 'pk': self.pk_obj } }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[ self._idx['data_size']]) if not success: return None return filename
def export_to_file(self, aChunkSize=0, filename=None, directory=None): if self._payload[self._idx['pk_doc_obj']] is not None: return self.document_part.export_to_file( aChunkSize=aChunkSize, filename=filename, ignore_conversion_problems=True, directory=directory) if filename is None: filename = self.get_useful_filename(directory=directory) success = gmPG2.bytea2file(data_query={ 'cmd': u'SELECT substring(data from %(start)s for %(size)s) FROM clin.export_item WHERE pk = %(pk)s', 'args': { 'pk': self.pk_obj } }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[self._idx['size']]) if not success: return None return filename
def export_to_file(self, aChunkSize=0, filename=None, target_mime=None, target_extension=None, ignore_conversion_problems=False, directory=None): if self._payload[self._idx['size']] == 0: return None if filename is None: filename = self.get_useful_filename(make_unique=True, directory=directory) success = gmPG2.bytea2file(data_query={ 'cmd': u'SELECT substring(data from %(start)s for %(size)s) FROM blobs.doc_obj WHERE pk=%(pk)s', 'args': { 'pk': self.pk_obj } }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[self._idx['size']]) if not success: return None if target_mime is None: return filename if target_extension is None: target_extension = gmMimeLib.guess_ext_by_mimetype( mimetype=target_mime) target_path, name = os.path.split(filename) name, tmp = os.path.splitext(name) target_fname = gmTools.get_unique_filename(prefix='%s-converted-' % name, suffix=target_extension) _log.debug('attempting conversion: [%s] -> [<%s>:%s]', filename, target_mime, target_fname) if gmMimeLib.convert_file(filename=filename, target_mime=target_mime, target_filename=target_fname): return target_fname _log.warning('conversion failed') if not ignore_conversion_problems: return None _log.warning( 'programmed to ignore conversion problems, hoping receiver can handle [%s]', filename) return filename
def save_to_file(self, aChunkSize=0, filename=None, target_mime=None, target_extension=None, ignore_conversion_problems=False, directory=None, adjust_extension=False, conn=None): if self._payload[self._idx['size']] == 0: return None if filename is None: filename = self.get_useful_filename(make_unique = True, directory = directory) success = gmPG2.bytea2file ( data_query = { 'cmd': 'SELECT substring(data from %(start)s for %(size)s) FROM blobs.doc_obj WHERE pk=%(pk)s', 'args': {'pk': self.pk_obj} }, filename = filename, chunk_size = aChunkSize, data_size = self._payload[self._idx['size']], conn = conn ) if not success: return None if target_mime is None: if filename.endswith('.dat'): if adjust_extension: return gmMimeLib.adjust_extension_by_mimetype(filename) return filename if target_extension is None: target_extension = gmMimeLib.guess_ext_by_mimetype(mimetype = target_mime) target_path, name = os.path.split(filename) name, tmp = os.path.splitext(name) target_fname = gmTools.get_unique_filename ( prefix = '%s-conv-' % name, suffix = target_extension ) _log.debug('attempting conversion: [%s] -> [<%s>:%s]', filename, target_mime, target_fname) if gmMimeLib.convert_file ( filename = filename, target_mime = target_mime, target_filename = target_fname ): return target_fname _log.warning('conversion failed') if not ignore_conversion_problems: return None if filename.endswith('.dat'): if adjust_extension: filename = gmMimeLib.adjust_extension_by_mimetype(filename) _log.warning('programmed to ignore conversion problems, hoping receiver can handle [%s]', filename) return filename
def save_to_file(self, aChunkSize=0, target_mime=None, target_extension=None, ignore_conversion_problems=False): if self._payload[self._idx['is_textual']]: return None if self._payload[self._idx['data_size']] == 0: return None filename = gmTools.get_unique_filename(prefix='gm-data_snippet-') success = gmPG2.bytea2file(data_query={ 'cmd': 'SELECT substring(binary_data from %(start)s for %(size)s) FROM ref.keyword_expansion WHERE pk = %(pk)s', 'args': { 'pk': self.pk_obj } }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[ self._idx['data_size']]) if not success: return None if target_mime is None: return filename if target_extension is None: target_extension = gmMimeLib.guess_ext_by_mimetype( mimetype=target_mime) target_fname = gmTools.get_unique_filename( prefix='gm-data_snippet-converted-', suffix=target_extension) _log.debug('attempting conversion: [%s] -> [<%s>:%s]', filename, target_mime, target_fname) if gmMimeLib.convert_file(filename=filename, target_mime=target_mime, target_filename=target_fname): return target_fname _log.warning('conversion failed') if not ignore_conversion_problems: return None _log.warning( 'programmed to ignore conversion problems, hoping receiver can handle [%s]', filename) return filename
def export_to_file( self, aChunkSize=0, filename=None, target_mime=None, target_extension=None, ignore_conversion_problems=False, directory=None, ): if self._payload[self._idx["size"]] == 0: return None if filename is None: filename = self.get_useful_filename(make_unique=True, directory=directory) success = gmPG2.bytea2file( data_query={ "cmd": u"SELECT substring(data from %(start)s for %(size)s) FROM blobs.doc_obj WHERE pk=%(pk)s", "args": {"pk": self.pk_obj}, }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[self._idx["size"]], ) if not success: return None if target_mime is None: return filename if target_extension is None: target_extension = gmMimeLib.guess_ext_by_mimetype(mimetype=target_mime) target_path, name = os.path.split(filename) name, tmp = os.path.splitext(name) target_fname = gmTools.get_unique_filename(prefix="%s-converted-" % name, suffix=target_extension) _log.debug("attempting conversion: [%s] -> [<%s>:%s]", filename, target_mime, target_fname) if gmMimeLib.convert_file(filename=filename, target_mime=target_mime, target_filename=target_fname): return target_fname _log.warning("conversion failed") if not ignore_conversion_problems: return None _log.warning("programmed to ignore conversion problems, hoping receiver can handle [%s]", filename) return filename
def export_to_file(self, aChunkSize=0, target_mime=None, target_extension=None, ignore_conversion_problems=False): if self._payload[self._idx['is_textual']]: return None if self._payload[self._idx['data_size']] == 0: return None filename = gmTools.get_unique_filename(prefix = 'gm-data_snippet-') success = gmPG2.bytea2file ( data_query = { 'cmd': u'SELECT substring(binary_data from %(start)s for %(size)s) FROM ref.keyword_expansion WHERE pk = %(pk)s', 'args': {'pk': self.pk_obj} }, filename = filename, chunk_size = aChunkSize, data_size = self._payload[self._idx['data_size']] ) if not success: return None if target_mime is None: return filename if target_extension is None: target_extension = gmMimeLib.guess_ext_by_mimetype(mimetype = target_mime) target_fname = gmTools.get_unique_filename ( prefix = 'gm-data_snippet-converted-', suffix = target_extension ) _log.debug('attempting conversion: [%s] -> [<%s>:%s]', filename, target_mime, target_fname) if gmMimeLib.convert_file ( filename = filename, target_mime = target_mime, target_filename = target_fname ): return target_fname _log.warning('conversion failed') if not ignore_conversion_problems: return None _log.warning('programmed to ignore conversion problems, hoping receiver can handle [%s]', filename) return filename
def __download_to_file(self, filename=None, aChunkSize=0, conn=None): if self._payload[self._idx['size']] == 0: _log.debug('part size 0, nothing to download') return None if filename is None: filename = gmTools.get_unique_filename() success = gmPG2.bytea2file ( data_query = { 'cmd': 'SELECT substring(data from %(start)s for %(size)s) FROM blobs.doc_obj WHERE pk=%(pk)s', 'args': {'pk': self.pk_obj} }, filename = filename, chunk_size = aChunkSize, data_size = self._payload[self._idx['size']], conn = conn ) if not success: return None return filename
def save_to_file(self, aChunkSize=0, filename=None, directory=None): # data linked from archive if self._payload[self._idx['pk_doc_obj']] is not None: part = self.document_part if filename is None: filename = part.get_useful_filename(make_unique=False, directory=directory, include_gnumed_tag=False, date_before_type=True, name_first=False) return part.save_to_file(aChunkSize=aChunkSize, filename=filename, ignore_conversion_problems=True, adjust_extension=True) # data in export area table if filename is None: filename = self.get_useful_filename(directory=directory) success = gmPG2.bytea2file(data_query={ 'cmd': u'SELECT substring(data from %(start)s for %(size)s) FROM clin.export_item WHERE pk = %(pk)s', 'args': { 'pk': self.pk_obj } }, filename=filename, chunk_size=aChunkSize, data_size=self._payload[self._idx['size']]) if not success: return None if filename.endswith(u'.dat'): return gmMimeLib.adjust_extension_by_mimetype(filename) return filename