def set_bytes(clazz, filename, key, value): 'Set the value of attribute with key to value for filename.' filename = file_check.check_file(filename) key = clazz._check_key(key) check.check_bytes(value) clazz.check_file_is_writable(filename) clazz._log.log_method_d() xattr_exe.set_bytes(filename, key, value)
def set_bytes(clazz, filename, key, value): 'Set the value of attribute with key to value for filename.' filename = file_check.check_file(filename) check.check_string(key) check.check_bytes(value) args = [ '-q', '-s', key, filename ] rv = clazz._call_linux_attr(args, input_data = value) clazz._check_permission_error(rv, 'Permission error setting key="{}" value="{}" for "{}"'.format(key, value, filename)) linux_attr_command.check_result(rv, message = 'Failed to set key="{}" value="{}" for "{}"'.format(key, value, filename))
def write_stream(clazz, filename, stream_name, value): 'Write the content of stream_name for filename in bytes.' filename = file_check.check_file(filename) stream_name = clazz.check_stream_name(stream_name) check.check_bytes(value) ads_filename = clazz._make_ads_filename(filename, stream_name) clazz._log.log_d('write_stream: ads_filename={}'.format(ads_filename)) clazz._log.log_d('write_stream: value={}'.format(value)) with open(ads_filename, 'wb') as fp: fp.write(value) fp.flush() assert value == clazz.read_stream(filename, stream_name)
def set_bytes(clazz, filename, key, value): 'Set the value of attribute with key to value for filename.' filename = file_check.check_file(filename) key = clazz._check_key(key) check.check_bytes(value) clazz.check_file_is_writable(filename) values = clazz._read_values(filename) clazz._log.log_d('set: before: values={}'.format(values)) values[key] = value ads.write_values(filename, clazz._ADS_STREAM_NAME, values) clazz._log.log_d('set: wrote: values={}'.format(values)) clazz._log.log_d('set: after: values={}'.format( clazz._read_values(filename)))
def set_bytes(clazz, filename, key, value): 'Set the value of attribute with key to value for filename.' filename = file_check.check_file(filename) key = clazz._check_key(key) check.check_bytes(value) clazz.check_file_is_writable(filename) clazz._log.log_method_d() encoded_key = clazz._encode_key(key) clazz._log.log_d( f'set_bytes:{filename}:{encoded_key}: calling xattr.setxattr with value "{value}"' ) rv = xattr.setxattr(filename, encoded_key, value) clazz._log.log_d( f'set_bytes:{filename}:{encoded_key}: xattr.setxattr returns with rv "{rv}"' )
def set_bytes(clazz, filename, key, value): 'Set the value of attribute with key to value for filename.' filename = file_check.check_file(filename) check.check_string(key) check.check_bytes(value) hex_value = hexdump.data(value, delimiter='', line_delimiter='') clazz._log.log_d('set_bytes: hex_value={}'.format(hex_value)) args = ['-w', '-x', key, hex_value, shlex.quote(filename)] rv = clazz._call_xattr_exe(args) clazz._check_permission_error( rv, 'Permission error setting key="{}" value="{}" for "{}"'.format( key, value, filename)) xattr_exe_command.check_result( rv, message='Failed to set key="{}" value="{}" for "{}"'.format( key, value, filename))