I have done no porting at all, but I usually end up programming in a macro
language in all my projects in the past. I usually do not write the code in
the language it will be compiled at the end. What is the can of worms you
are talking about? In my experience have 2 code basis are a can of worms.
Again, I do not have enough "Python" experience to judge this things. But I
am looking for a powerful pre-processor for Python because I am starting to
see the need for it in "my" projects.

2011/3/11 Alex Grönholm <[email protected]>

>  11.03.2011 09:20, Rüdiger Kessel kirjoitti:
>
> This looks like a perfect pre-processor task to me. Define a macro
> "EXCEPT(a,b)" that will be converted to "except a,b" or to "except a as b".
> Defining the macros might be a bit of work, but then you could write one
> common source where both versions can be derived from. The only disadvantage
> is that you need to code everything in macros. That is the price of
> maintaining only one source code base.
>
> No, it isn't. Nobody uses preprocessors for this, unless you count 2to3 as
> one. The correct way to do it in a way that works for both 2.x and 3.x is:
>
> try:
>     ...
> except Exception:
>     exc = sys.exc_info()[1]
>     ....
>
> Preprocessors (other than 2to3) would open a whole new can of worms, which
> is totally unnecessary here. Trust me -- in all likelihood, I've done a lot
> more porting than you have :)
>
>  This is what I mean with "local" changes. If you can achieve  the same
> thing in 2.x and in 3k by changing segments of a few lines each then you can
> use a pre-processor. But that would not lead to the need of moving things
> between modules, doesn't it?
>
> 2011/3/10 Alex Grönholm <[email protected]>
>
>>  11.03.2011 03:32, Rüdiger Kessel kirjoitti:
>>
>> I read that one, but I got the impression that changes are all local. Why
>> would one want to move things between modules just because it uses py3k
>> syntax?
>> It looks to me that basically the same structures should work for both.
>> Maybe I am missing something fundamental here.
>>
>>  The syntax changes are fairly radical. For example, how would you catch
>> named exceptions (and assign to a variable) in a way that works for both 3.x
>> and 2.x? There is an ugly but workable way, but I'd just like to check if
>> you've understood the problem.
>>
>>
>> 2011/3/10 Alex Grönholm <[email protected]>
>>
>>>  11.03.2011 03:17, Rüdiger Kessel kirjoitti:
>>>
>>> Sorry for being stupid. I did not see Python py3k yet. I saw no need. I
>>> use Python because it is available everywhere.
>>> I thought that py3k was just some syntactical different dialect. But
>>> obviously it is more. Does it have completely new data types and does it not
>>> support the types from 2.x any more?
>>>
>>>  This should answer most of your questions:
>>> http://docs.python.org/release/3.0.1/whatsnew/3.0.html
>>>
>>>
>>> Rüdiger
>>>
>>> 2011/3/10 Alex Grönholm <[email protected]>
>>>
>>>>  10.03.2011 18:27, Tomer Filiba kirjoitti:
>>>>
>>>> no, it's not really possible, because many types were moved between
>>>> modules, or completely dropped.
>>>> also, the object model has changed a little, and since netrefs play with
>>>> the low-level stuff, they have to be adapted.
>>>> all in all, the syntax part is the least of our concerns.
>>>>
>>>>  I've done quite a bit of py3k porting work myself, so could you be a
>>>> little more specific? Maybe I can address those concerns.
>>>>
>>>>
>>>>
>>>>  -tomer
>>>>
>>>> An NCO and a Gentleman
>>>>
>>>>
>>>> On Thu, Mar 10, 2011 at 00:41, Rüdiger Kessel <
>>>> [email protected]> wrote:
>>>>
>>>>> Sorry for asking this stupid question, but is there any good python
>>>>> preprocessor out there that can support the version problem so that the 
>>>>> code
>>>>> can look nice, but still comes from a common code base?
>>>>>
>>>>> Ruediger
>>>>>
>>>>>
>>>>> 2011/3/9 Jorge Maroto <[email protected]>
>>>>>
>>>>>  On Wed, Mar 9, 2011 at 10:59 PM, Tomer Filiba <[email protected]>
>>>>>> wrote:
>>>>>> > yeah, i had the feeling someone would sneak in redhat and
>>>>>> > their nonexistent releases...
>>>>>> > you know, being stuck with software from 2004 in 2011... how come
>>>>>> people PAY
>>>>>> > money for that "support"?
>>>>>>
>>>>>>  IMHO they just pay to have someone to put the blame on. :).
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Reply via email to