Page 1 of 2
Keep separate each piece of each part of a multipart file
Posted: Sun Nov 18, 2007 10:55 am
by LM
Using Usenet Explorer v.1.9.9 (registered).
Assume a file named "Source" is divided into 2 parts for posting as a multipart file, i.e. "Source.part01" and "Source.part02" will be posted.
Also assume that each part is further divided into 3 pieces for posting, so there are 6 separate articles actually posted. These are:
"Source.part01 (1/3)", "Source.part01 (2/3)", "Source.part01 (3/3)", and
"Source.part02 (1/3)", "Source.part02 (2/3)", "Source.part02 (3/3)".
I want to download each of these 6 articles and their 6 bodies so that they appear, and can be worked with, separately.
However, UE automatically recombines the 3 related pieces of each part back into "Source.part01" and "Source.part02", thus preventing availability of the 6 separate articles.
How can I make UE keep the 6 articles and their bodies separate from each other, i.e. stop automatic recombining?
Thank you.
Posted: Sun Nov 18, 2007 11:05 am
by alex
file menu->default toolbar->show parts.
if the article has body it will work for every newsgroup type.
Keep separate each piece of each part of a multipart file
Posted: Mon Nov 19, 2007 1:45 pm
by LM
Thank you for your reply.
Although I can now see the pieces that are downloaded, I cannot save them separately, which I want to do.
Assume same example as in my first post, with the files having an "rar" extension. The following allows me to see what pieces of each part are downloaded.
1. In UE's Menu Bar, click File | Default toolbar | Show parts
2. In an open Newsgroup, in pane under "Subject", see in list part 1 of multipart file:
. . . "[+] Source.part01.rar (*/3)"
3. Click on "[+]" to expand and then see:
. . . ."[-] Source.part01.rar (*/3).rar
. . . . . |--- Source.part01.rar (1/3)
. . . . . |--- Source.part01.rar (2/3)
. . . . . |--- Source.part01.rar (3/3)"
4. Right-click on "[-] Source.part01.rar (*/3)", then in context menu click "Download bodies"
5. Assume bodies download successfully for pieces 1 and 2, but not for 3. So see:
. . ."?[-] Source.part01.rar (*/3)
. . . . . |--- Source.part01.rar (1/3)
. . . . . |--- Source.part01.rar (2/3)
. . . . ?|--- Source.part01.rar (3/3)"
6. I now want to save separately the bodies of pieces 1 and 2 to the Download folder, so that the folder will contain the 2 separate files "Source.part01.rar (1-3).txt" and "Source.part01.rar (2-3).txt". (The sequence identifier needs to be changed, e.g. from "1/3" to "1-3", because "/" is an invalid character in a file name.) I was hoping this could be done as easily in UE as it is in Xnews. However, I could not find a way to do this directly. I tried the following:
a. Select "Source.part01.rar (*/3)", then right-click on selection, and in context menu click "Save attachments". UE combines pieces 1 and 2, and saves the combination as "Source.part01.rar" (although incomplete) to folder.
b. Select "Source.part01.rar (1/3)" and "Source.part01.rar (2/3)" (so "Source.part01.rar (*/3)" and missing body "Source.part01.rar (3/3)" not selected), then right-click on selection, and in context menu click "Save attachments". UE saves 1 piece as "Source.part01.rar" but does not identify whether the file saved is "Source.part01.rar (1/3)" or "Source.part01.rar (2/3)".
c. Select "Source.part01.rar (1/3)", "Source.part01.rar (2/3)" and missing body "Source.part01.rar (3/3)" (so "Source.part01.rar (*/3)" not selected), then right-click on selection, and in context menu click "Save attachments". UE saves 1 piece as "Source.part01.rar" but does not identify whether the file saved is "Source.part01.rar (1/3)" or "Source.part01.rar (2/3)". (Same result as in 6.b.)
d. Select "Source.part01.rar (1/3)" and "Source.part01.rar (2/3)" (so "Source.part01.rar (*/3)" and missing body "Source.part01.rar (3/3)" not selected), then right-click on selection, and in context menu click "Advanced | Save source". UE saves 1 piece as "Source.part01.rar.src" but does not identify whether the file saved is "Source.part01.rar (1/3)" or "Source.part01.rar (2/3)".
Note: An experiment using a part consisting of 2 pieces of unequal size indicates that UE is saving piece 1 as "Source.part01.rar" in 6.b. and 6.c., and as "Source.part01.rar.src" in 6.d. above.
e. Save the pieces in separate operations.
e.1 Select "Source.part01.rar (1/3)", then right-click on selection, and in context menu click "Advanced | Save source". UE saves as "Source.part01.rar.src" but does not identify that the file saved is "Source.part01.rar (1/3)".
e.2 Select "Source.part01 (2/3)", then right-click on selection, and in context menu click "Advanced | Save source". UE saves "Source.part01.rar (1/3)" again as "Source.part01.rar.src", instead of saving the selected file "Source.part01.rar (2/3)."
None of the foregoing worked.
Finally, the following workaround did work, but it is cumbersome.
f. Save the pieces in separate operations and rename each file by adding its sequence number.
f.1(a) Select "Source.part01.rar (1/3)", then right-click on selection, and in context menu click "Advanced | Save source". UE saves as "Source.part01.src" but does not identify that the file saved is "Source.part01.rar (1/3)".
f.1(b) Manually rename the file by adding the sequence identifier "(1-3)" so the new name is "Source.part01.rar (1-3).src".
f.2(a) Select "Source.part01.rar (2/3)", then right-click on selection, and in context menu click "Advanced | Save source". UE saves as "Source.part01.rar.src" but does not identify that the file saved is "Source.part01.rar (2/3)".
f.2(b) Manually rename the file by adding the sequence identifier "(2-3)" so the new name is "Source.part01.rar (2-3).src".
Is there an easier way to get UE to save the 2 separate files "Source.part01.rar (1/3)" and "Source.part01.rar (2/3)", with the "/" in the sequence identifier automatically changed to produce a valid file name, and with either a "txt" or "src" extension?
Thank you.
Posted: Mon Nov 19, 2007 5:02 pm
by Josef K
This depends on how you need the resulting file. Do you need text or binary? You have already managed to save them as text but not (unless I missed it - a lot of words to read there...) as binary. Binary saving would allow manually joining them.
The process would be:
- Show parts and expand
Double-click each part, right-click on the icon and choose Save
Name each part accordingly as you save them
You need to rename because each segment would be named, as in your example, as 'Source.part01.rar' without the segment number.
Now, I understand your feelings towards not being able to select several at once to do this. That's up to Alex but I think it would have to wait until after the major work that's in progress right now has been completed.
There have been a few times I could have used something like this (selecting several at once to save). For now, the only way seems to be one by one, unless I've missed something glaringly obvious.
Posted: Tue Nov 20, 2007 3:33 am
by alex
you can use the auto-rename option (properties->articles, dupicate file names), it may not rename as you would like to but it will make some sense.
when you save on per part basis when the encoding is yEnc there is the file name in every part, so UE just takes this file name as it would be a whole attachment, right now nothing is done to discern to which part it belongs.
the show parts view is mostly for troubleshooting to see what is wrong with the post, usually if UE cannot save attachment properly you won't be able to reassemble it with external tool.
why you need it in the first place? with any other program you cannot see parts at all, with UE at least it is enough to figure out if there is any problem, i don't remember when i needed this option, i'm using it if someone points me out to a problem with a certain post, then i switch on the parts view, open a part in article view then invoke "view source" to see what is there.
newspro was very detailed on those things since years ago users were more aware about small details than nowadays and there were more corruptions with posts statistically and no par2 recovery, so i just took newspro options and reimplemented them in UE in the same way.
Keep separate each piece of each part of a multipart file
Posted: Tue Nov 20, 2007 11:24 am
by LM
Thank you both, Josef K and alex, for your replies.
I had not thought of the approach Josef K suggested. Unfortunately, because it still involves manual renaming of each file, it doesn't make things easier whether the files are text (my approach) or binary (Josef K's approach).
I was unaware of the Properties | Articles | Duplicate file names | Auto-rename configuration that alex suggested. This helps to a certain extent.
What I'm trying to do is workaround a problem that I have recently encountered with "missing" articles.
UE, configured to download bodies based on message IDs, has been returning a large number of "430 - No such article (Server)" errors. Downloads of many parts of multipart binaries are incomplete because the parts have one or more pieces missing. Using the example from my second post (Mon Nov 19, 2007 1:45 pm), "Source.part01.rar" is incomplete because "Source.part01.rar (3/3)" is reported as missing.
If there are enough PAR2 files to repair the problem, then I'll fix it using them. However, recently there have been several times when there were insufficient PAR2 files to fill in the gaps.
Using Xnews, configured to download bodies based on article numbers, I found that almost all of the "missing" articles reported by UE actually were available. Again using the prior example, Xnews can download and decode a complete copy of "Source.part01.rar" because it can download all 3 pieces, viz. "Source.part01.rar (1/3)", "Source.part01.rar (2/3)", and "Source.part01.rar (3/3)", the latter piece reported as missing by UE.
However, doing this duplicates the downloading of "Source.part01.rar (1/3)" and "Source.part01.rar (2/3)", which UE already did. The duplication is a waste of bandwidth and time, especially since Xnews is slower at downloading than UE.
To be more efficient, I wanted to do the following. I assumed that UE could save the downloaded text files for "Source.part01.rar (1/3)" and "Source.part01.rar (2/3)" and automatically rename them all in one operation, since Xnews can do this. I would only need Xnews to get "Source.part01.rar (3/3)" as a text file to complete the set of 3 pieces. Then, a program such as "UUDeview" could combine the 3 text files and extract the complete "Source.part01.rar" binary file from them.
Josef K's approach of working with binary instead of text files is similar, with Xnews downloading and decoding "Source.part01.rar (3/3)" as a binary file. Then, a joining program could join the 3 binary pieces into the complete binary part.
However, if I need to rename each text or binary file from UE by hand to accomplish this, even using Auto-rename, then it will be easier to use Xnews to download all the files from scratch instead of just the "missing" ones reported by UE.
BTW, Xnews will show each piece of each part of a multipart file. The user can select any one or more individual pieces of any part of any multipart file, and can either download and save them as text files, or download and decode them as binary files. If a single piece is saved as a text file, Xnews automatically changes the file name, e.g. from "Source.part01.rar (1/3)" to "Source.part01.rar (1-3).1.txt", making combining and extraction of the binary easy. If decoded to a binary file, Xnews automatically adds a sequence number if prior files have the same name, i.e. similar to UE's Auto-rename but, unlike UE, done automatically for all selected files in one operation. Of course, the user can have Xnews simply download and decode directly to the complete binary, i.e. perform the equivalent of UE's "Download & Save attachments" command.
While Xnews has a couple of features I prefer, including the flexibility in handling individual pieces of multipart files, overall UE is a far superior program, which is why I paid to switch to UE.
Posted: Tue Nov 20, 2007 11:57 am
by alex
ok, so you just didn't explain what you want and tried some option which maybe is not appropriate to be a solution here.
i think what you need - not to delete incomplete article bodies when you save attachments. you need to uncheck properties->articles->saving attachments->delete incomplete bodies.
the option is checked by default since when users don't know about the option the incomplete bodies keep accumulating and i got here more complaints about the UE database folder "growing in size".
then if all is ok you just delete those bodies manually.
keeping bodies (even if you keep all bodies, not only incomplete) doesn't slow UE by itself, all you need is disk space.
to delete old bodies faster you can invoke edit menu->bodies then select all what you don't need and delete it.
Keep separate each piece of each part of a multipart file
Posted: Wed Nov 21, 2007 12:55 pm
by LM
Thank you for your reply.
Unfortunately, I could see no effective difference in the outcome whether "Properties | Articles | Save queue - Saving attachments | Delete incomplete bodies" was checked or unchecked.
When one or more pieces of a part of a multipart file is missing, then in executing a "Download&save attachments" command, UE downloads and saves to the Download folder an incomplete binary file of identical size whether "Delete incomplete bodies" is checked or unchecked. The same happens using the separate commands "Download bodies" and "Save attachments."
The only effect I can see of unchecking "Delete incomplete bodies" is that it overrides clicking "Yes" for "Do you want to delete headers&bodies after successful save attachments?" Therefore, clicking "File | Default toolbar | Show parts" shows which pieces were downloaded and which were not in all cases. However, I was already keeping the bodies, and, thanks to your earlier suggestion about "Show parts," was already able to see them.
Perhaps I'm misunderstanding the latest suggestion, but for now it doesn't appear to help what I was trying to do, viz. easily gather the incomplete set of pieces for a binary part downloaded by UE, and combine them with fill-ins downloaded by Xnews, which together would provide a complete set of pieces from which a third program can extract a complete file that is a part of a multipart file.
Posted: Wed Nov 21, 2007 1:49 pm
by alex
if you can download with xnews you can also download it with UE. why one would need to download different parts with different programs and then combine them with a third party tool?
what i meant if you leave article bodies in the UE database, later you can fill in missing parts by marking the header for download&save again.
when some parts are missing you see half body (green notepad icon) half empty header icon (small green square), if there were errors there will be also question sign. you can still mark such a header for download&save again if there are more parts it will save the attachment with newly downloaded parts.
Keep separate each piece of each part of a multipart file
Posted: Thu Nov 22, 2007 1:00 pm
by LM
Thank you for your reply.
Now I understand what you were suggesting. However, I'm not sure it would help in the particular circumstance that I had encountered.
As I said in my third post (Tue Nov 20, 2007 11:24 am), the problem was that in several recent cases UE reported a large number of articles as missing that Xnews simultaneously found available. Indeed, Xnews downloaded article bodies while UE still said they did not exist on the server. I assumed that if UE did not see them when Xnews downloaded them, that meant UE would never see them, especially since they were many weeks old.
I do not know why UE reported a "430 Error" for these available articles, but I assume it related to UE searching by message ID, while Xnews searched by article number.
Because I assumed that UE would never see these "missing" articles, I believed I had two options to work around the problem.
The first was to use Xnews to download all the pieces of the parts with "missing" articles. However, this would duplicate the downloads UE did of the articles that it found.
The second was to take the pieces already downloaded by UE as text files, download just the fill-in ("missing") pieces using Xnews, and then use a program such as UUD32 Windows or UUDeview to combine all the pieces and extract the underlying binary parts. This would reduce the number of articles needed to be downloaded by Xnews, and thus be more efficient than option one.
I started this thread regarding the second option because I could not find an easy way to get the UE pieces ready for the combination and extraction.
Posted: Thu Nov 22, 2007 1:25 pm
by alex
It must be malfunctioning server, corrupted message-id index, e.g. UNS has such a problem with few articles.
UE has "article numbers" newsgroup destination type to handle that, the problem is it takes comparatively to compact binary newsgroup type too much memory (but it still takes significantly less memory than XNews). the newsgroup destination type is set on newsgroup creation, you can have several newsgroups with the same name and different destination type (you can put some indication in the nick).
If your server supports XPat you can create XPat group with "article number" type (on newsgroup creation), then you can target only missing headers when you see missing articles, it might be faster than to download all headers within memory-greedy newsgroup type.
To make it work in edit menu->properties->articles->request article method select "article number" so it will use article numbers when available, normally they are not used since another kind of newsserver malfunction if you try to download by article number it will return wrong article.
E.g. the scenario could be you see "no such article" errors, then you open the xpat group, type pattern to download headers, as long as the headers are there you retry failed articles and the download will succeed.
As with "compact binary" the maximal newsgroup size it can handle is hundreds of millions of headers, with "article numbers" probably the memory consumption is about 14M headers per 1GB, but again with XNews it will be much worse and if you can use XPat so the number of headers will be small it won't be a problem at all.
Keep separate each piece of each part of a multipart file
Posted: Fri Nov 23, 2007 2:30 pm
by LM
Thank you for your reply.
I believe you're right that the server was the problem. It was very unusual.
My NSP supports XPAT searches.
Tests of XPAT searches for articles known to exist (UE downloaded them using "Download bodies" command) have mostly failed. XPAT found 2 articles in 2 small newsgroups (3,500 articles max). However, XPAT failed to find known articles in large newsgroups (100,000+ articles).
There are 2 synchronized servers. XPAT search in a couple of newsgroups generated a "411 No Such Group" error from one server, and a simultaneous "No connection could be made because the target machine actively refused it. (System:10061)" error from the second, which I do not understand.
Posted: Sat Nov 24, 2007 4:49 am
by alex
Did you read my answer? It doesn't mention XPat only. Then you can use the full copy of newsgroup with article numbers destination type like you are used to with XNews. If you don't download too many headers (say newsgroups are limited to several millions of headers) just use the article number newsgroup destination type only (but if you use NZB files you'll still get no such article since NZB files don't contain article numbers of your server since generally they are different for every server).
If you get errors make sure the number of tasks is not too high, you can replicate almost every aspect of XNews in UE, as to binaries it is full superset.
Is it commercial provider? Then why you keep it if it is not functional?
Posted: Sun Nov 25, 2007 11:20 am
by Josef K
You can also just do a simple search for the troublesome articles with UE's search. The search service pulls headers from three different servers so completion is as high as it will get. Then you can download from there. If you already have most segments of an article, UE will not redownload the entire article. It will download only the missing segments as long as it's from the exact same post.
Posted: Sun Nov 25, 2007 12:55 pm
by alex
No, the problem with his server it cannot download by message-id and needs article numbers which are specific to the server so cannot be provided by search (the same case with any NZB file), so the only way is to use article numbers destination type of newsgroups.
In NewsPro it was the only type available for regular/xpat newsgroups, the same case with XNews since in older newsreaders article numbers were always stored, in UE I still left it as the optional article numbers detination type specifically to deal with the cases when message-id server index is broken.