Welcome to the Invelos forums. Please read the forum rules before posting.

Read access to our public forums is open to everyone. To post messages, a free registration is required.

If you have an Invelos account, sign in to post.

    Invelos Forums->DVD Profiler: Desktop Technical Support Page: 1 2  Previous   Next
Can You Filter on Locks?
Author Message
DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
I was wondering if I am just missing it... but is there is a way to filter on what you have locked?

Say for example I wanted to see all the profiles that I have the Special Features section locked for.

Say for example I ordered a box set that originally came with a book... but later releases came without the book. I got the later release... so I remove the book from my Other Features and lock the Special Features section. Now I know I have several things such as this in my collection. Either because I got a later release... or I bought used and they didn't have the book/statuette... whatever to sell with it.

Now say something is added to the program in the Special Features section in the next update. So now I want to update these profiles... knowing I wouldn't get the updates from online since they are locked. If I could filter on all profiles I have the Special Features locked it would make it easy for me to update the ones I need to without just trying to remember what all profiles I have Special Features locked on.
Pete
DVD Profiler Unlimited RegistrantStar ContributorKulju
Registered: March 14, 2007
Finland Posts: 2,337
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Quoting Addicted2DVD:
Quote:
I was wondering if I am just missing it... but is there is a way to filter on what you have locked?

Not that I know of.
Quote:
Now say something is added to the program in the Special Features section in the next update. So now I want to update these profiles... knowing I wouldn't get the updates from online since they are locked.

You do get updates even the fields are locked. Just unlock in preview window if you see an update for a field you have locked.
Quote:
If I could filter on all profiles I have the Special Features locked it would make it easy for me to update the ones I need to without just trying to remember what all profiles I have Special Features locked on.

Now I don't follow... You mean you want to edit those fields yourself or get an update from online db?
DVD Profiler Desktop and Mobile RegistrantStar ContributorDJ Doena
Registered: May 1, 2002
Registered: March 14, 2007
Reputation: Highest Rating
Germany Posts: 6,744
Posted:
PM this userEmail this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
Not natively, no. And I don't think CSV Export exports the locks.

But this gave me the opportunity to toy with Linq and Lamda Expressions a bit more:

Quote:

Only interesting for programmers:

Spoiler:  (Select to view)

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml.Linq;

namespace DoenaSoft.FindSpecialFeatureLocks
{
    public static class Program
    {
        public static void Main(String[] args)
        {
            try
            {
                if (args == null || args.Length == 0 || File.Exists(args[0]) == false)
                {
                    Console.WriteLine("Invalid call. Please provide proper file name.");
                    return;
                }
                XDocument doc = XDocument.Load(args[0]);
                IEnumerable<XElement> allDvds = doc.Element("Collection").Elements("DVD");
                IEnumerable<XElement> filteredDvds = allDvds.Where(dvd => dvd.Element("Locks").Element("Features").Value == "true");
                var dvdInfos = filteredDvds.Select(dvd => new
                        {
                            Name = dvd.Element("Title").Value,
                            UPC = dvd.Element("UPC").Value,
                        }
                    );
                foreach (var dvdInfo in dvdInfos)
                {
                    Console.WriteLine(dvdInfo.Name);
                    Console.WriteLine(dvdInfo.UPC);
                    Console.WriteLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.WriteLine("Press <Enter> to exit");
                Console.ReadLine();
            }
        }
    }
}



This is a one-purpose tool. It'll give you exactly what you want: All your DVDs with a lock on Special Features. Nothing more, nothing less.

You need to call it with a parameter where your exported collection.xml is stored, e.g.

Quote:

FindSpecialFeatureLocks.exe D:\collection.xml


http://doena-soft.de/dvdprofiler/3.8.1/FindSpecialFeatureLocks.zip
Karsten
DVD Collectors Online

 Last edited: by DJ Doena
DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
Quoting Kulju:
Quote:
Quoting Addicted2DVD:
Quote:
I was wondering if I am just missing it... but is there is a way to filter on what you have locked?

Not that I know of.
Quote:
Now say something is added to the program in the Special Features section in the next update. So now I want to update these profiles... knowing I wouldn't get the updates from online since they are locked.

You do get updates even the fields are locked. Just unlock in preview window if you see an update for a field you have locked.
Quote:
If I could filter on all profiles I have the Special Features locked it would make it easy for me to update the ones I need to without just trying to remember what all profiles I have Special Features locked on.

Now I don't follow... You mean you want to edit those fields yourself or get an update from online db?


Thanks... I wasn't I knew I could tell it to accept updates anyway... but then it would put back what I may have deleted. So I basically only wanted to know if there is a way for DVD Profiler to tell me which profiles has the Special Features (or any lock really) locked. This way if we did get something new in the Special Features section I could just load the profiles I have the special features locked on and fix them myself the way they should be for what I own.
Pete
DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
Quoting DJ Doena:
Quote:
Not natively, no. And I don't think CSV Export exports the locks.

But this gave me the opportunity to toy with Linq and Lamda Expressions a bit more:

Quote:

Only interesting for programmers:

Spoiler:  (Select to view)

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Xml.Linq;

namespace DoenaSoft.FindSpecialFeatureLocks
{
    public static class Program
    {
        public static void Main(String[] args)
        {
            try
            {
                if (args == null || args.Length == 0 || File.Exists(args[0]) == false)
                {
                    Console.WriteLine("Invalid call. Please provide proper file name.");
                }
                XDocument doc = XDocument.Load(args[0]);
                IEnumerable<XElement> allDvds = doc.Element("Collection").Elements("DVD");
                IEnumerable<XElement> filteredDvds = allDvds.Where(dvd => dvd.Element("Locks").Element("Features").Value == "true");
                var dvdInfos = filteredDvds.Select(dvd => new
                        {
                            Name = dvd.Element("Title").Value,
                            UPC = dvd.Element("UPC").Value,
                        }
                    );
                foreach (var dvdInfo in dvdInfos)
                {
                    Console.WriteLine(dvdInfo.Name);
                    Console.WriteLine(dvdInfo.UPC);
                    Console.WriteLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.WriteLine("Press <Enter> to exit");
                Console.ReadLine();
            }
        }
    }
}



This is a one-purpose tool. It'll give you exactly what you want: All your DVDs with a lock on Special Features. Nothing more, nothing less.

You need to call it with a parameter where your exported collection.xml is stored, e.g.

Quote:

FindSpecialFeatureLocks.exe D:\collection.xml


http://doena-soft.de/dvdprofiler/3.8.1/FindSpecialFeatureLocks.zip


Thanks Karsten... I will be checking it out! 
Pete
DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
You know what would really be good... a separate lock for Other Features. 
Pete
DVD Profiler Desktop and Mobile RegistrantStar ContributorDJ Doena
Registered: May 1, 2002
Registered: March 14, 2007
Reputation: Highest Rating
Germany Posts: 6,744
Posted:
PM this userEmail this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
Quoting Addicted2DVD:
Quote:
You know what would really be good... a separate lock for Other Features. 

Erm, there is no lock for other features 
Karsten
DVD Collectors Online

DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
That is what I am saying... it would be cool if there was a separate lock for Other Features... instead of having the Features lock all of it.
Pete
DVD Profiler Desktop and Mobile RegistrantStar ContributorDJ Doena
Registered: May 1, 2002
Registered: March 14, 2007
Reputation: Highest Rating
Germany Posts: 6,744
Posted:
PM this userEmail this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
Quoting Addicted2DVD:
Quote:
That is what I am saying... it would be cool if there was a separate lock for Other Features... instead of having the Features lock all of it.


Ah OK. I though you were asking for a variant of the program that could filter for "other" locks.
Karsten
DVD Collectors Online

DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
Nope... just thinking out loud. Just not sure it would be worth a feature request.
Pete
DVD Profiler Desktop and Mobile RegistrantStar ContributorDJ Doena
Registered: May 1, 2002
Registered: March 14, 2007
Reputation: Highest Rating
Germany Posts: 6,744
Posted:
PM this userEmail this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
But while we're at it. Here's an extended version of the previous program. Now you can specify the lock and it will also export a flag set to the location of the collection.xml

Quote:

FindLocks.exe D:\collection.xml Features


will result in

D:\FlagSetList_Features.lst

to be imported via Collection -> Flags -> Load Flag Set

http://doena-soft.de/dvdprofiler/3.8.1/FindLocks.zip

And here's the code for those interested:

Quote:

Spoiler:  (Select to view)

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace DoenaSoft.FindLocks
{
    public static class Program
    {
        public static void Main(String[] args)
        {
            try
            {
                if (args == null || args.Length == 0 || File.Exists(args[0]) == false)
                {
                    Console.WriteLine("Invalid call. Please provide proper file name.");
                    return;
                }
                else if (args.Length < 2)
                {
                    Console.WriteLine("Invalid call. Please provide Lock type.");
                    return;
                }
                else if (CheckLockType(args[1]) == false)
                {
                    Console.WriteLine("Invalid call. Please provide proper Lock type.");
                    return;
                }
                XDocument doc = XDocument.Load(args[0]);
                IEnumerable<XElement> allDvds = doc.Element("Collection").Elements("DVD");
                IEnumerable<XElement> filteredDvds = allDvds.Where(dvd => dvd.Element("Locks").Element(args[1]).Value == "true");
                var dvdInfos = filteredDvds.Select(dvd => new
                        {
                            Name = dvd.Element("Title").Value,
                            UPC = dvd.Element("UPC").Value,
                            ID = dvd.Element("ID").Value,
                        }
                    );
                using (StreamWriter sw = new StreamWriter((new FileInfo(args[0])).DirectoryName + @"\FlagSetList_" + args[1] + ".lst"
                    , false, Encoding.GetEncoding("Windows-1252")))
                {
                    foreach (var dvdInfo in dvdInfos)
                    {
                        Console.WriteLine(dvdInfo.Name);
                        Console.WriteLine(dvdInfo.UPC);
                        Console.WriteLine();
                        sw.WriteLine(dvdInfo.ID);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.WriteLine("Press <Enter> to exit");
                Console.ReadLine();
            }
        }

        private static Boolean CheckLockType(String lockType)
        {
            switch (lockType)
            {
                case ("Entire"):
                case ("Covers"):
                case ("Title"):
                case ("MediaType"):
                case ("Overview"):
                case ("Regions"):
                case ("Genres"):
                case ("SRP"):
                case ("Studios"):
                case ("DiscInformation"):
                case ("Cast"):
                case ("Crew"):
                case ("Features"):
                case ("AudioTracks"):
                case ("Subtitles"):
                case ("EasterEggs"):
                case ("RunningTime"):
                case ("ReleaseDate"):
                case ("ProductionYear"):
                case ("CaseType"):
                case ("VideoFormats"):
                case ("Rating"):
                    {
                        return (true);
                    }
                default:
                    {
                        return (false);
                    }
            }
        }
    }
}

Karsten
DVD Collectors Online

DVD Profiler Unlimited RegistrantStar ContributorAddicted2DVD
Registered: March 13, 2007
Reputation: Highest Rating
United States Posts: 17,334
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
Very cool! Thank You! 
Pete
DVD Profiler Desktop and Mobile RegistrantStar ContributorDJ Doena
Registered: May 1, 2002
Registered: March 14, 2007
Reputation: Highest Rating
Germany Posts: 6,744
Posted:
PM this userEmail this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
Now I'll go to bed. It's 1:16 a.m. already and "tomorrow" is a workday. Luckily the day after that is May 1st (national holiday in Germany).
Karsten
DVD Collectors Online

 Last edited: by DJ Doena
DVD Profiler Unlimited RegistrantStar ContributorKulju
Registered: March 14, 2007
Finland Posts: 2,337
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Quoting Addicted2DVD:
Quote:
Thanks... I wasn't I knew I could tell it to accept updates anyway...

Since 3.8.x there has been two checkboxes in preview windows. I don't have DVDP at hand, but if IIRC  they are called "Accept" and "Locked".

Accept [checked] +Locked [unchecked] = Your data will be overwritten by the update, no locks set.
Accept [checked] +Locked [checked] = Your data will be overwritten by the update this once, but locks will stay on for the future
Accept [unchecked] +Locked [checked] = Your data won't be overwritten by the update, lock is set.
Accept [unchecked] +Locked [unchecked] =  Your data won't be overwritten by the update, lock not is set.

Locks won't prevent you seeing new updates. They just set if your local data will be overwritten by the update or not. You can always deside in preview windows. This is how it has always been. Locks don't prevent local editing.

Quote:
but then it would put back what I may have deleted.

???
Quote:
So I basically only wanted to know if there is a way for DVD Profiler to tell me which profiles has the Special Features (or any lock really) locked. This way if we did get something new in the Special Features section I could just load the profiles I have the special features locked on and fix them myself the way they should be for what I own.


I get what you're asking, but I don't get why. Just to make sure I get this right... For example:

- At the moment you have "Booklet" entries in some profiles Other Features field.
- Next release of DVDP may contain check box for booklet and you wan't to move that info from Other Features field to new check box.

Am I even close?? If yes, why don't you just filter those profiles which has booklet in their Other features and fix them. The point I don't get is why to take locks in this equation?
DVD Profiler Unlimited RegistrantStar ContributorLewis_Prothero
Strength Through Unity
Registered: May 19, 2007
Reputation: Superior Rating
Germany Posts: 6,730
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Quoting Kulju:
Quote:
Locks won't prevent you seeing new updates.


But flagging "Hide Updates for locked profiles" in "Tools -> Options -> Defaults" will.
It all seems so stupid, it makes me want to give up!
But why should I give up, when it all seems so stupid?


Registrant since 05/22/2003
DVD Profiler Desktop and Mobile RegistrantStar ContributorVoltaire53
Missed again!
Registered: March 13, 2007
Reputation: High Rating
United Kingdom Posts: 2,293
Posted:
PM this userEmail this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
Quoting Lewis_Prothero:
Quote:
Quoting Kulju:
Quote:
Locks won't prevent you seeing new updates.


But flagging "Hide Updates for locked profiles" in "Tools -> Options -> Defaults" will.


Ooh, handy... another little trick I didn't know that will be very useful for me as there are quite a few multi-season boxsets that I consider parents (and remove unnecessary data) where others don't as the child seasons don't have UPCs and now that 'everyone' uses the disc level profiles you can't enter a season by Disc 1 of the set any more.
It is dangerous to be right in matters where established men are wrong
 Last edited: by Voltaire53
    Invelos Forums->DVD Profiler: Desktop Technical Support Page: 1 2  Previous   Next