This does not do what you expect:
if var is 'stringone' or 'stringtwo':
    dosomething()
It is the same as:
if (var is 'stringone') or 'stringtwo':
    dosomething()
Which is always true, since 'stringtwo' is considered a "true" value.
There are two alternatives:
if var in ('stringone', 'stringtwo'):
    dosomething()
Or you can write separate equality tests,
if var == 'stringone' or var == 'stringtwo':
    dosomething()
Don't use is, because is compares object identity.  You might get away with it sometimes because Python interns a lot of strings, just like you might get away with it in Java because Java interns a lot of strings.  But don't use is unless you really want object identity.
>>> 'a' + 'b' == 'ab'
True
>>> 'a' + 'b' is 'abc'[:2]
False # but could be True
>>> 'a' + 'b' is 'ab'
True  # but could be False