Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
francisdb committed Jul 11, 2023
1 parent c0ffc79 commit db7b24b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 114 deletions.
115 changes: 6 additions & 109 deletions src/vpx/biff.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,116 +7,18 @@ use nom::number::complete::{
use nom::{IResult, ToUsize};
use utf16string::WStr;

// class BIFF_reader:
// def __init__(self, stream):
// self.data = stream
// self.pos = 0
// self.record_start = 0
// self.bytes_in_record_remaining = 0
// self.tag = b''

// def get_float(self):
// i = struct.unpack("<f", self.data[self.pos:self.pos+4])[0]
// self.pos = self.pos + 4
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - 4
// return i

// def get_str(self, count):
// pos_0 = count
// for p in range(count):
// if self.data[self.pos+p] == 0:
// pos_0 = p
// break
// i = str(struct.unpack("%ds" % pos_0, self.data[self.pos:self.pos+pos_0])[0], 'latin_1')
// self.pos = self.pos + count
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - count
// return i

// def get_string(self):
// return self.get_str(self.get_u32())

// def get_wide_string(self):
// count = self.get_u32()
// i = str(self.data[self.pos:self.pos+count], 'utf-16-le')
// self.pos = self.pos + count
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - count
// return i

// def get_color(self, has_alpha=False):
// if has_alpha:
// i = (self.get_u8() / 255.0, self.get_u8() / 255.0, self.get_u8() / 255.0, self.get_u8() / 255.0)
// else:
// i = (self.get_u8() / 255.0, self.get_u8() / 255.0, self.get_u8() / 255.0, 1)
// self.get_u8()
// return i

// def get_record_data(self, with_tag=False):
// if with_tag:
// d = self.data[self.pos-4:self.pos + self.bytes_in_record_remaining]
// else:
// d = self.data[self.pos:self.pos + self.bytes_in_record_remaining]
// self.pos = self.pos + self.bytes_in_record_remaining
// self.bytes_in_record_remaining = 0
// return d

// def skip(self, count):
// self.pos = self.pos + count
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - count

// def skip_tag(self):
// self.pos = self.pos + self.bytes_in_record_remaining
// self.bytes_in_record_remaining = 0

// def next(self, warn=True):
// if self.bytes_in_record_remaining > 0:
// if warn: print(f"{self.tag} : {self.bytes_in_record_remaining} unread octets")
// self.skip(self.bytes_in_record_remaining)
// self.record_start = self.pos
// self.bytes_in_record_remaining = self.get_u32()
// self.tag = self.get_str(4)

// def delete_tag(self):
// self.data = self.data[:self.record_start] + self.data[self.pos + self.bytes_in_record_remaining:]
// self.pos = self.record_start
// self.bytes_in_record_remaining = 0
// self.tag = b''

// def delete_bytes(self, count):
// self.data = self.data[:self.pos] + self.data[self.pos + count:]

// def insert_data(self, new_data):
// for d in new_data:
// self.data.insert(self.pos, d)
// self.pos += 1

// def put_bool(self, value):
// if value:
// self.data[self.pos] = 0xFF
// else:
// self.data[self.pos] = 0
// self.pos = self.pos + 4
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - 4

// def put_u32(self, value):
// self.data[self.pos:self.pos+4] = struct.pack("<I", value)
// self.pos = self.pos + 4
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - 4

// def put_float(self, value):
// self.data[self.pos:self.pos+4] = struct.pack("<f", value)
// self.pos = self.pos + 4
// self.bytes_in_record_remaining = self.bytes_in_record_remaining - 4

// def child_reader(self):
// return BIFF_reader(self.data[self.pos:])

pub struct BiffReader<'a> {
data: &'a [u8],
pos: usize,
bytes_in_record_remaining: usize,
record_start: usize,
tag: String,
}
// TODO make private
/**
* All records have a tag, eg CODE or NAME
*/
pub const RECORD_TAG_LEN: u32 = 4;

pub const WARN: bool = true;

Expand Down Expand Up @@ -383,16 +285,11 @@ impl<'a> BiffReader<'a> {
}
self.record_start = self.pos;
self.bytes_in_record_remaining = self.get_u32_no_remaining_update().to_usize();
let tag = self.get_str(4);
let tag = self.get_str(RECORD_TAG_LEN as usize);
self.tag = tag;
}
}

// TODO make private
/**
* All records have a tag, eg CODE or NAME
*/
pub const RECORD_TAG_LEN: u32 = 4;

pub fn read_tag_start(input: &[u8]) -> IResult<&[u8], (&str, u32)> {
let (input, len) = le_u32(input)?;
Expand Down
9 changes: 4 additions & 5 deletions src/vpx/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
use std::hash;
use std::io::{self, Read, Seek, Write};
use std::path::MAIN_SEPARATOR_STR;
use std::{
Expand Down Expand Up @@ -429,12 +428,12 @@ mod tests {

#[test]
fn test_mac_generation() {
let path = PathBuf::from(
"testdata/completely_blank_table_10_7_4.vpx"
);
let path = PathBuf::from("testdata/completely_blank_table_10_7_4.vpx");
let mut comp = cfb::open(path).unwrap();

let expected = [231, 121, 242, 251, 174, 227, 247, 90, 58, 105, 13, 92, 13, 73, 151, 86];
let expected = [
231, 121, 242, 251, 174, 227, 247, 90, 58, 105, 13, 92, 13, 73, 151, 86,
];

let mac = read_mac(&mut comp).unwrap();
assert_eq!(mac, expected);
Expand Down

0 comments on commit db7b24b

Please sign in to comment.