On Mon, Feb 20, 2012 at 03:49:02AM -0800, julien2412 wrote: > Michael Meeks wrote >> On Sun, 2012-02-19 at 05:49 -0800, julien2412 wrote: >>> I let a comment about this bug >>> https://bugs.freedesktop.org/show_bug.cgi?id=46180#c3. >>> I'm stucked because I don't know what's the use of the boolean variables >>> quoted in the comment.
>> Does Lionel's feedback help ? :-) > Now if I understand what Lionel said, I don't know if DBF files > should be consider as DBase files. > I didn't test what's the result with ODS, ODP, etc. (instead of ods, odp, > ...) files and I don't know what should it be : > must we consider ODS is not ods for example ? Usually, LibreOffice should not care about extensions at all. Extensions are a hint for the desktop environment which program to hand off a file to when the user asks "open this file". You can try: mv foo.ods foo libreoffice foo mv bar.doc bar.ods libreoffice bar.ods It will work: foo will be opened in calc, and bar.ods in writer (not calc). For any file we are asked to open, we should look at file *contents*, not file *name* to decide what to do with it. Now, csv-style files pose a unique problem: it is not possible to reliably sniff whether a file is a csv-style file, and we don't actually treat files, but we treat directories that contain a bunch of these files PLUS possibly other stuff, because each "table" will be in its own file, so a "database" is really a directory (or directory hierarchy if you want catalogs and schemas). So we need a way to sort out the tables from the other "stuff". So it is a reasonable solution (and possibly the best we can do) to rely on file extension to see which file in the given directory we should treat as a "csv-style" table. Theoretically, one could imagine a heuristic method based on contents, but that could make more new problems than it solves. dBase files are similar, but not quite. I understand that they, too, contain only one table per file. But my strong guess is that they can be reliably content-sniffed. So, for dBase files we should probably completely abandon the "filename extension" stuff, and read a few bytes from every file in the directory, and if the first bytes are the dBase signature, consider it as a table from the database. -- Lionel _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice