Python stat.ST_SIZE Examples
The following are 30
code examples of stat.ST_SIZE().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
stat
, or try the search function
.
Example #1
Source File: urllib2.py From jawfish with MIT License | 6 votes |
def open_local_file(self, req): host = req.get_host() file = req.get_selector() localfile = url2pathname(file) stats = os.stat(localfile) size = stats[stat.ST_SIZE] modified = rfc822.formatdate(stats[stat.ST_MTIME]) mtype = mimetypes.guess_type(file)[0] stats = os.stat(localfile) headers = mimetools.Message(StringIO( 'Content-Type: %s\nContent-Length: %d\nLast-modified: %s\n' % (mtype or 'text/plain', size, modified))) if host: host, port = splitport(host) if not host or \ (not port and socket.gethostbyname(host) in self.get_names()): return addinfourl(open(localfile, 'rb'), headers, 'file:'+file) raise URLError('file not on local host')
Example #2
Source File: __init__.py From rpm-s3 with BSD 2-Clause "Simplified" License | 6 votes |
def _get_old_package_dict(self): if hasattr(self, '_old_package_dict'): return self._old_package_dict self._old_package_dict = {} for d in self.conf.oldpackage_paths: for f in self.getFileList(d, '.rpm'): fp = d + '/' + f fpstat = os.stat(fp) if int(fpstat[stat.ST_SIZE]) > self.conf.max_delta_rpm_size: self.callback.log("Skipping %s package " \ "that is > max_delta_rpm_size" % f) continue if not self._old_package_dict.has_key(d): self._old_package_dict[d] = [] self._old_package_dict[d].append(d + '/' + f) return self._old_package_dict
Example #3
Source File: test_rand.py From oss-ftp with MIT License | 6 votes |
def _read_write_test(self, path): """ Verify that ``rand.write_file`` and ``rand.load_file`` can be used. """ # Create the file so cleanup is more straightforward with open(path, "w"): pass try: # Write random bytes to a file rand.write_file(path) # Verify length of written file size = os.stat(path)[stat.ST_SIZE] self.assertEqual(1024, size) # Read random bytes from file rand.load_file(path) rand.load_file(path, 4) # specify a length finally: # Cleanup os.unlink(path)
Example #4
Source File: recipe-362459.py From code with MIT License | 6 votes |
def walker(arg, dirname, fnames): d = os.getcwd() os.chdir(dirname) try: fnames.remove('Thumbs') except ValueError: pass for f in fnames: if not os.path.isfile(f): continue size = os.stat(f)[stat.ST_SIZE] if size < 100: continue if filesBySize.has_key(size): a = filesBySize[size] else: a = [] filesBySize[size] = a a.append(os.path.join(dirname, f)) os.chdir(d)
Example #5
Source File: utils.py From statik with MIT License | 6 votes |
def copy_file_if_modified(src_path, dest_path): """Only copies the file from the source path to the destination path if it doesn't exist yet or it has been modified. Intended to provide something of an optimisation when a project has large trees of assets.""" # if the destination path is a directory, delete it completely - we assume here we are # writing a file to the filesystem if os.path.isdir(dest_path): shutil.rmtree(dest_path) must_copy = False if not os.path.exists(dest_path): must_copy = True else: src_stat = os.stat(src_path) dest_stat = os.stat(dest_path) # if the size or last modified timestamp are different if ((src_stat[stat.ST_SIZE] != dest_stat[stat.ST_SIZE]) or (src_stat[stat.ST_MTIME] != dest_stat[stat.ST_MTIME])): must_copy = True if must_copy: shutil.copy2(src_path, dest_path)
Example #6
Source File: sr_file.py From sarracenia with GNU General Public License v2.0 | 6 votes |
def file_truncate(parent,msg): # will do this when processing the last chunk # whenever that is if (not parent.randomize) and (not msg.lastchunk) : return try : lstat = os.stat(msg.target_file) fsiz = lstat[stat.ST_SIZE] if fsiz > msg.filesize : fp = open(msg.target_file,'r+b') fp.truncate(msg.filesize) fp.close() msg.set_topic(parent.post_topic_prefix,msg.target_relpath) msg.set_notice(msg.new_baseurl,msg.target_relpath,msg.pubtime) msg.report_publish(205, 'Reset Content :truncated') except : pass
Example #7
Source File: on_file_repair_size.py From sarracenia with GNU General Public License v2.0 | 6 votes |
def on_file(self, parent ): import os,stat logger = parent.logger msg = parent.msg path = msg.new_dir + '/' + msg.new_file fsiz = os.stat(path)[stat.ST_SIZE] partstr = '1,%d,1,0,0' % fsiz if partstr == msg.partstr : return True msg.partstr = partstr msg.headers['parts'] = msg.partstr parent.logger.debug("file size repaired in message %s" % partstr) return True
Example #8
Source File: test_largefile.py From ironpython3 with Apache License 2.0 | 6 votes |
def setUp(self): if os.path.exists(TESTFN): mode = 'r+b' else: mode = 'w+b' with self.open(TESTFN, mode) as f: current_size = os.fstat(f.fileno())[stat.ST_SIZE] if current_size == size+1: return if current_size == 0: f.write(b'z') f.seek(0) f.seek(size) f.write(b'a') f.flush() self.assertEqual(os.fstat(f.fileno())[stat.ST_SIZE], size+1)
Example #9
Source File: moodleCrawler.py From Moodle-Downloader with GNU General Public License v3.0 | 6 votes |
def walker(arg, dirname, fnames): d = os.getcwd() os.chdir(dirname) global filesBySize try: fnames.remove('Thumbs') except ValueError: pass for f in fnames: if not os.path.isfile(f): continue size = os.stat(f)[stat.ST_SIZE] # print f + " size: " + str(size) if size < 100: continue if filesBySize.has_key(size): a = filesBySize[size] else: a = [] filesBySize[size] = a a.append(os.path.join(dirname, f)) os.chdir(d)
Example #10
Source File: sphinxy.py From RocketCEA with GNU General Public License v3.0 | 6 votes |
def checksum_directory(directory, touch_first=False): """ Walk directory structure and return simple checksum based on file size and modified time. """ file_checksums = [] fileL = glob.glob( os.path.join(directory,'*.rst') ) for source_path in fileL: if touch_first: # os.utime(source_path, None) try: stats = os.stat(source_path) except OSError: # ignore temp files and files we don't # have perms to access continue file_checksums.append( stats[stat.ST_SIZE] + stats[stat.ST_MTIME]) return sum(file_checksums)
Example #11
Source File: test_largefile.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def setUp(self): if os.path.exists(TESTFN): mode = 'r+b' else: mode = 'w+b' with self.open(TESTFN, mode) as f: current_size = os.fstat(f.fileno())[stat.ST_SIZE] if current_size == size+1: return if current_size == 0: f.write(b'z') f.seek(0) f.seek(size) f.write(b'a') f.flush() self.assertEqual(os.fstat(f.fileno())[stat.ST_SIZE], size+1)
Example #12
Source File: install.py From ironpython2 with Apache License 2.0 | 6 votes |
def CheckLoaderModule(dll_name): suffix = "" if is_debug_build: suffix = "_d" template = os.path.join(this_dir, "PyISAPI_loader" + suffix + ".dll") if not os.path.isfile(template): raise ConfigurationError( "Template loader '%s' does not exist" % (template,)) # We can't do a simple "is newer" check, as the DLL is specific to the # Python version. So we check the date-time and size are identical, # and skip the copy in that case. src_stat = os.stat(template) try: dest_stat = os.stat(dll_name) except os.error: same = 0 else: same = src_stat[stat.ST_SIZE]==dest_stat[stat.ST_SIZE] and \ src_stat[stat.ST_MTIME]==dest_stat[stat.ST_MTIME] if not same: log(2, "Updating %s->%s" % (template, dll_name)) shutil.copyfile(template, dll_name) shutil.copystat(template, dll_name) else: log(2, "%s is up to date." % (dll_name,))
Example #13
Source File: test_largefile.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def setUp(self): if os.path.exists(TESTFN): mode = 'r+b' else: mode = 'w+b' with self.open(TESTFN, mode) as f: current_size = os.fstat(f.fileno())[stat.ST_SIZE] if current_size == size+1: return if current_size == 0: f.write(b'z') f.seek(0) f.seek(size) f.write(b'a') f.flush() self.assertEqual(os.fstat(f.fileno())[stat.ST_SIZE], size+1)
Example #14
Source File: column_provider.py From ironpython2 with Apache License 2.0 | 6 votes |
def GetItemData(self, colid, colData): fmt_id, pid = colid fmt_id==self._reg_clsid_ flags, attr, reserved, ext, name = colData if ext.lower() not in [".py", ".pyw"]: return None if pid==0: ext = ".pyc" else: ext = ".pyo" check_file = os.path.splitext(name)[0] + ext try: st = os.stat(check_file) return st[stat.ST_SIZE] except OSError: # No file return None
Example #15
Source File: Bgee.py From dipper with BSD 3-Clause "New" or "Revised" License | 6 votes |
def check_if_remote_is_newer(self, localfile, remote_size, remote_modify): """ Overrides check_if_remote_is_newer in Source class :param localfile: str file path :param remote_size: str bytes :param remote_modify: str last modify date in the form 20160705042714 :return: boolean True if remote file is newer else False """ is_remote_newer = False status = os.stat(localfile) LOG.info( "\nLocal file size: %i" "\nLocal Timestamp: %s", status[ST_SIZE], datetime.fromtimestamp(status.st_mtime)) remote_dt = Bgee._convert_ftp_time_to_iso(remote_modify) if remote_dt != datetime.fromtimestamp(status.st_mtime) or \ status[ST_SIZE] != int(remote_size): is_remote_newer = True LOG.info( "Object on server is has different size %i and/or date %s", remote_size, remote_dt) return is_remote_newer
Example #16
Source File: mangle_agent.py From darkc0de-old-stuff with GNU General Public License v3.0 | 6 votes |
def readData(self, filename, file_index): # Open file and read file size self.warning("Load input file: %s" % filename) data = open(filename, 'rb') orig_filesize = fstat(data.fileno())[ST_SIZE] if not orig_filesize: raise ValueError("Input file (%s) is empty!" % filename) # Read bytes if self.max_size: data = data.read(self.max_size) else: data = data.read() # Display message if input is truncated if len(data) < orig_filesize: percent = len(data) * 100.0 / orig_filesize self.warning("Truncate file to %s bytes (%.2f%% of %s bytes)" \ % (len(data), percent, orig_filesize)) # Convert to Python array object return array('B', data)
Example #17
Source File: multipartpost.py From darkc0de-old-stuff with GNU General Public License v3.0 | 6 votes |
def multipart_encode(vars, files, boundary = None, buffer = None): if boundary is None: boundary = mimetools.choose_boundary() if buffer is None: buffer = '' for(key, value) in vars: buffer += '--%s\r\n' % boundary buffer += 'Content-Disposition: form-data; name="%s"' % key buffer += '\r\n\r\n' + value + '\r\n' for(key, fd) in files: file_size = os.fstat(fd.fileno())[stat.ST_SIZE] filename = fd.name.split('/')[-1] contenttype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' buffer += '--%s\r\n' % boundary buffer += 'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename) buffer += 'Content-Type: %s\r\n' % contenttype # buffer += 'Content-Length: %s\r\n' % file_size fd.seek(0) buffer += '\r\n' + fd.read() + '\r\n' buffer += '--%s--\r\n\r\n' % boundary return boundary, buffer
Example #18
Source File: test_largefile.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def tearDownClass(cls): with cls.open(TESTFN, 'wb'): pass if not os.stat(TESTFN)[stat.ST_SIZE] == 0: raise cls.failureException('File was not truncated by opening ' 'with mode "wb"')
Example #19
Source File: maildir.py From python-for-android with Apache License 2.0 | 5 votes |
def listMessages(self, i=None): """Return a list of lengths of all files in new/ and cur/ """ if i is None: ret = [] for mess in self.list: if mess: ret.append(os.stat(mess)[stat.ST_SIZE]) else: ret.append(0) return ret return self.list[i] and os.stat(self.list[i])[stat.ST_SIZE] or 0
Example #20
Source File: irc.py From python-for-android with Apache License 2.0 | 5 votes |
def fileSize(file): """I'll try my damndest to determine the size of this file object. """ size = None if hasattr(file, "fileno"): fileno = file.fileno() try: stat_ = os.fstat(fileno) size = stat_[stat.ST_SIZE] except: pass else: return size if hasattr(file, "name") and path.exists(file.name): try: size = path.getsize(file.name) except: pass else: return size if hasattr(file, "seek") and hasattr(file, "tell"): try: try: file.seek(0, 2) size = file.tell() finally: file.seek(0, 0) except: pass else: return size return size
Example #21
Source File: multipartpost.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def multipart_encode(vars, files, boundary=None, buf=None): if boundary is None: boundary = mimetools.choose_boundary() if buf is None: buf = '' for (key, value) in vars: if key is not None and value is not None: buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"' % key buf += '\r\n\r\n' + value + '\r\n' for (key, fd) in files: file_size = os.fstat(fd.fileno())[stat.ST_SIZE] if isinstance(fd, file) else fd.len filename = fd.name.split('/')[-1] if '/' in fd.name else fd.name.split('\\')[-1] try: contenttype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' except: # Reference: http://bugs.python.org/issue9291 contenttype = 'application/octet-stream' buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename) buf += 'Content-Type: %s\r\n' % contenttype # buf += 'Content-Length: %s\r\n' % file_size fd.seek(0) buf = str(buf) if not isinstance(buf, unicode) else buf.encode("utf8") buf += '\r\n%s\r\n' % fd.read() buf += '--%s--\r\n\r\n' % boundary return boundary, buf
Example #22
Source File: maildir.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def listMessages(self, i=None): """Return a list of lengths of all files in new/ and cur/ """ if i is None: ret = [] for mess in self.list: if mess: ret.append(os.stat(mess)[stat.ST_SIZE]) else: ret.append(0) return ret return self.list[i] and os.stat(self.list[i])[stat.ST_SIZE] or 0
Example #23
Source File: frm_reader.py From mysql-utilities with GNU General Public License v2.0 | 5 votes |
def show_statistics(self): """Show general file and table statistics """ print "# File Statistics:" file_stats = os.stat(self.frm_path) file_info = { 'Size': file_stats[stat.ST_SIZE], 'Last Modified': time.ctime(file_stats[stat.ST_MTIME]), 'Last Accessed': time.ctime(file_stats[stat.ST_ATIME]), 'Creation Time': time.ctime(file_stats[stat.ST_CTIME]), 'Mode': file_stats[stat.ST_MODE], } for value, data in file_info.iteritems(): print "#%22s : %s" % (value, data) print # Fail if we cannot read the file try: self.frm_file = open(self.frm_path, "rb") except Exception, error: raise UtilError("The file %s cannot be read.\n%s" % (self.frm_path, error)) # Read the file type
Example #24
Source File: MultipartPostHandler.py From addon with GNU General Public License v3.0 | 5 votes |
def multipart_encode(vars, files, boundary = None, buffer = None): if boundary is None: boundary = mimetools.choose_boundary() if buffer is None: buffer = StringIO() for(key, value) in vars: buffer.write('--%s\r\n' % boundary) buffer.write('Content-Disposition: form-data; name="%s"' % key) if value is None: value = "" # if type(value) is not str, we need str(value) to not error with cannot concatenate 'str' # and 'dict' or 'tuple' or somethingelse objects buffer.write('\r\n\r\n' + str(value) + '\r\n') for(key, fd) in files: file_size = os.fstat(fd.fileno())[stat.ST_SIZE] filename = fd.name.split('/')[-1] contenttype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' buffer.write('--%s\r\n' % boundary) buffer.write('Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename)) buffer.write('Content-Type: %s\r\n' % contenttype) buffer.write('Content-Length: %s\r\n' % file_size) fd.seek(0) buffer.write('\r\n' + fd.read() + '\r\n') buffer.write('--' + boundary + '--\r\n') buffer = buffer.getvalue() return boundary, buffer
Example #25
Source File: sendfile_streaming_backend.py From wagtail with BSD 3-Clause "New" or "Revised" License | 5 votes |
def sendfile(request, filename, **kwargs): # Respect the If-Modified-Since header. statobj = os.stat(filename) if not was_modified_since(request.META.get('HTTP_IF_MODIFIED_SINCE'), statobj[stat.ST_MTIME], statobj[stat.ST_SIZE]): return HttpResponseNotModified() response = StreamingHttpResponse(FileWrapper(open(filename, 'rb'))) response["Last-Modified"] = http_date(statobj[stat.ST_MTIME]) return response
Example #26
Source File: test_largefile.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_osstat(self): self.assertEqual(os.stat(TESTFN)[stat.ST_SIZE], size+1)
Example #27
Source File: multipartpost.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def multipart_encode(vars, files, boundary=None, buf=None): if boundary is None: boundary = mimetools.choose_boundary() if buf is None: buf = '' for (key, value) in vars: if key is not None and value is not None: buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"' % key buf += '\r\n\r\n' + value + '\r\n' for (key, fd) in files: file_size = os.fstat(fd.fileno())[stat.ST_SIZE] if isinstance(fd, file) else fd.len filename = fd.name.split('/')[-1] if '/' in fd.name else fd.name.split('\\')[-1] try: contenttype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' except: # Reference: http://bugs.python.org/issue9291 contenttype = 'application/octet-stream' buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename) buf += 'Content-Type: %s\r\n' % contenttype # buf += 'Content-Length: %s\r\n' % file_size fd.seek(0) buf = str(buf) if not isinstance(buf, unicode) else buf.encode("utf8") buf += '\r\n%s\r\n' % fd.read() buf += '--%s--\r\n\r\n' % boundary return boundary, buf
Example #28
Source File: multipartpost.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def multipart_encode(vars, files, boundary=None, buf=None): if boundary is None: boundary = mimetools.choose_boundary() if buf is None: buf = '' for (key, value) in vars: if key is not None and value is not None: buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"' % key buf += '\r\n\r\n' + value + '\r\n' for (key, fd) in files: file_size = os.fstat(fd.fileno())[stat.ST_SIZE] if isinstance(fd, file) else fd.len filename = fd.name.split('/')[-1] if '/' in fd.name else fd.name.split('\\')[-1] try: contenttype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' except: # Reference: http://bugs.python.org/issue9291 contenttype = 'application/octet-stream' buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename) buf += 'Content-Type: %s\r\n' % contenttype # buf += 'Content-Length: %s\r\n' % file_size fd.seek(0) buf = str(buf) if not isinstance(buf, unicode) else buf.encode("utf8") buf += '\r\n%s\r\n' % fd.read() buf += '--%s--\r\n\r\n' % boundary return boundary, buf
Example #29
Source File: test_largefile.py From ironpython3 with Apache License 2.0 | 5 votes |
def tearDownClass(cls): with cls.open(TESTFN, 'wb'): pass if not os.stat(TESTFN)[stat.ST_SIZE] == 0: raise cls.failureException('File was not truncated by opening ' 'with mode "wb"')
Example #30
Source File: multipartpost.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def multipart_encode(vars, files, boundary=None, buf=None): if boundary is None: boundary = mimetools.choose_boundary() if buf is None: buf = '' for (key, value) in vars: if key is not None and value is not None: buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"' % key buf += '\r\n\r\n' + value + '\r\n' for (key, fd) in files: file_size = os.fstat(fd.fileno())[stat.ST_SIZE] if isinstance(fd, file) else fd.len filename = fd.name.split('/')[-1] if '/' in fd.name else fd.name.split('\\')[-1] try: contenttype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' except: # Reference: http://bugs.python.org/issue9291 contenttype = 'application/octet-stream' buf += '--%s\r\n' % boundary buf += 'Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename) buf += 'Content-Type: %s\r\n' % contenttype # buf += 'Content-Length: %s\r\n' % file_size fd.seek(0) buf = str(buf) if not isinstance(buf, unicode) else buf.encode("utf8") buf += '\r\n%s\r\n' % fd.read() buf += '--%s--\r\n\r\n' % boundary return boundary, buf